/* Descubrir — sistema visual editorial
   Basado en DESCUBRIR_WEB_TUTTO_M01 y DESCUBRIR_RRSS_M01. */

:root {
   /* Tipografía */
   --dsc-font-display: "Antonio", "Arial Narrow", sans-serif;
   --dsc-font-headline: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
   --dsc-font-condensed: "Barlow Condensed", "Arial Narrow", sans-serif;
   --dsc-font-copy: "Barlow", var(--font-family-system);
   --dsc-font-label: "Share Tech", var(--dsc-font-condensed);
   --dsc-font-editorial: "Richmond Display", Georgia, serif;

   /* Base editorial */
   --dsc-ink: #0b0b0b;
   --dsc-paper: #fff;
   --dsc-cream: #f6f3ed;
   --dsc-muted: #5f5f5f;
   --dsc-rule: #c9c9c9;

   /* Paleta del manual */
   --dsc-yellow: #fff000;
   --dsc-lime: #e0ff02;
   --dsc-acid-green: #33fe05;
   --dsc-orange: #ff8c00;
   --dsc-coral: #ff5a59;
   --dsc-pink: #fe0566;
   --dsc-red: #fe0033;
   --dsc-pale-pink: #ff99ff;
   --dsc-magenta: #ff33ff;
   --dsc-purple: #cc00ff;
   --dsc-cyan: #00ffcc;
   --dsc-electric-cyan: #01f8ff;
   --dsc-blue: #0000ff;
   --dsc-burgundy: #4a1020;

   /* Escala y ritmo */
   --dsc-page-max: 1500px;
   --dsc-page-gutter: clamp(16px, 2.2vw, 32px);
   --dsc-section-gap: clamp(48px, 5.5vw, 84px);
   --dsc-title-xl: clamp(44px, 5.4vw, 76px);
   --dsc-title-lg: clamp(38px, 4.2vw, 60px);
   --dsc-title-md: clamp(22px, 2.3vw, 34px);
   --dsc-copy-size: clamp(15px, 1.15vw, 17px);
   --dsc-meta-size: 13px;
}

/* Plantilla seleccionable: Crítica de hotel. */
.dsc-hotel-review {
   --dsc-hotel-accent: var(--dsc-burgundy);
   --dsc-hotel-highlight: var(--dsc-pale-pink);
   overflow: hidden;
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-hotel-header {
   padding-top: clamp(36px, 5vw, 76px);
   background: var(--dsc-cream);
}

.dsc-hotel-header-inner {
   box-sizing: border-box;
   max-width: 1240px;
   margin: 0 auto;
}

.dsc-hotel-kicker {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 22px;
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase;
}

.dsc-hotel-kicker span {
   padding: 8px 11px 7px;
   color: var(--dsc-paper);
   background: var(--dsc-hotel-accent);
}

.dsc-hotel-kicker a {
   padding-left: 12px;
   border-left: 1px solid var(--dsc-ink);
   color: var(--dsc-ink);
}

.dsc-hotel-title {
   max-width: 1080px;
   margin: 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(48px, 5.3vw, 76px);
   font-weight: 600;
   line-height: 1.04;
   letter-spacing: -.035em;
}

.dsc-hotel-deck {
   display: grid;
   max-width: 1080px;
   grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr);
   gap: clamp(40px, 7vw, 100px);
   align-items: end;
   margin-top: clamp(28px, 4vw, 48px);
   padding-top: 18px;
   border-top: 2px solid var(--dsc-ink);
}

.dsc-hotel-deck.is-without-excerpt {
   grid-template-columns: minmax(280px, 360px);
   justify-content: end;
}

.dsc-hotel-excerpt {
   margin: 0;
   color: #373333;
   font-family: var(--dsc-font-headline);
   font-size: clamp(22px, 2vw, 29px);
   font-weight: 500;
   line-height: 1.38;
}

.dsc-hotel-meta .global-meta {
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
}

.dsc-hotel-meta .post-share-wrap {
   display: flex;
   height: auto;
   align-items: center;
   gap: 8px;
   margin-top: 18px;
}

.dsc-hotel-meta .post-share-wrap a,
.dsc-hotel-meta .post-share-wrap svg {
   width: 27px;
   height: 27px;
   opacity: 1;
}

.dsc-hotel-meta .post-share-wrap a {
   display: inline-flex;
   flex: 0 0 27px;
}

.dsc-hotel-cover {
   box-sizing: border-box;
   max-width: 1380px;
   margin: clamp(38px, 5vw, 70px) auto 0;
   padding-bottom: clamp(28px, 4vw, 54px);
}

.dsc-hotel-cover-image {
   position: relative;
   overflow: hidden;
   aspect-ratio: 16 / 9;
   background: var(--dsc-hotel-accent);
}

.dsc-hotel-cover-image picture,
.dsc-hotel-cover-image img {
   display: block;
   width: 100%;
   height: 100%;
}

.dsc-hotel-cover-image img {
   object-fit: cover;
}

.dsc-hotel-cover figcaption {
   max-width: 760px;
   margin: 9px 0 0 auto;
   padding-top: 8px;
   border-top: 1px solid var(--dsc-rule);
   font-family: var(--dsc-font-label);
   font-size: 12px;
   letter-spacing: .035em;
}

.post-template .dsc-hotel-content {
   box-sizing: border-box;
   max-width: 820px;
   margin: clamp(54px, 7vw, 104px) auto 0;
}

.post-template .dsc-hotel-body {
   font-size: clamp(18px, 1.45vw, 21px);
}

.post-template .dsc-hotel-body > p:first-of-type {
   font-family: var(--dsc-font-headline);
   font-size: clamp(22px, 2vw, 28px);
   font-weight: 500;
   line-height: 1.52;
}

.post-template .dsc-hotel-body > p:first-of-type::first-letter {
   float: left;
   margin: .08em .1em 0 0;
   color: var(--dsc-hotel-accent);
   font-family: var(--dsc-font-editorial);
   font-size: 4.15em;
   line-height: .72;
}

.post-template .dsc-hotel-body > h2 {
   margin-top: clamp(68px, 8vw, 108px);
   padding-top: 20px;
   border-top: 1px solid var(--dsc-ink);
   font-family: var(--dsc-font-headline);
   font-size: clamp(38px, 4vw, 55px);
   font-weight: 600;
   line-height: 1.08;
   letter-spacing: -.025em;
}

.post-template .dsc-hotel-body > h2::before {
   top: -4px;
   width: 72px;
   height: 7px;
   background: var(--dsc-hotel-accent);
}

.post-template .dsc-hotel-body > h3 {
   margin-top: 48px;
   font-family: var(--dsc-font-headline);
   font-size: clamp(28px, 3vw, 36px);
   font-weight: 600;
}

.post-template .dsc-hotel-body blockquote {
   margin: 68px 0;
   padding: 28px 34px 32px;
   border-top: 5px solid var(--dsc-hotel-accent);
   border-bottom: 1px solid var(--dsc-hotel-accent);
   color: var(--dsc-hotel-accent);
   background: var(--dsc-cream);
   font-family: var(--dsc-font-editorial);
   font-size: clamp(28px, 3vw, 40px);
   font-weight: 400;
   line-height: 1.24;
}

.post-template .dsc-hotel-body > .kg-image-card:not(.kg-width-full),
.post-template .dsc-hotel-body > .kg-gallery-card {
   position: relative;
   width: min(1080px, calc(100vw - 2 * var(--dsc-page-gutter)));
   max-width: none;
   margin: 48px 0 58px 50%;
   transform: translateX(-50%);
}

.post-template .dsc-hotel-body > .kg-image-card.kg-width-full {
   position: relative;
   width: min(1380px, 100vw);
   max-width: none;
   margin: 54px 0 64px 50%;
   transform: translateX(-50%);
}

.post-template .dsc-hotel-body > .kg-image-card img,
.post-template .dsc-hotel-body > .kg-image-card.kg-width-full img {
   position: static;
   width: 100%;
   max-width: 100%;
   margin: 0;
}

.post-template .dsc-hotel-body > .kg-gallery-card {
   box-sizing: border-box;
   width: min(1160px, calc(100vw - 2 * var(--dsc-page-gutter)));
   padding: 8px;
   background: var(--dsc-hotel-accent);
}

.post-template .dsc-hotel-body > .kg-gallery-card .kg-gallery-container {
   width: 100%;
   margin-left: 0;
}

.post-template .dsc-hotel-body .kg-gallery-image img {
   border-radius: 0 !important;
}

.post-template .dsc-hotel-body figcaption {
   max-width: 760px;
   margin: 9px auto 0;
}

.post-template .dsc-hotel-body > .kg-gallery-card figcaption {
   border-color: rgba(255, 255, 255, .3);
   color: rgba(255, 255, 255, .84);
}

.post-template .dsc-hotel-verdict,
.post-template .dsc-hotel-practical {
   box-sizing: border-box;
   width: min(960px, calc(100vw - 2 * var(--dsc-page-gutter)));
   max-width: none;
   margin: clamp(76px, 9vw, 120px) 0 0 50%;
   transform: translateX(-50%);
}

.post-template .dsc-hotel-verdict {
   padding: clamp(30px, 4vw, 54px);
   color: var(--dsc-paper);
   background: var(--dsc-hotel-accent);
}

.post-template .dsc-hotel-verdict h2,
.post-template .dsc-hotel-practical h2 {
   margin: 0 0 28px;
   padding: 0 0 14px;
   border-bottom: 1px solid currentColor;
   font-family: var(--dsc-font-condensed);
   font-size: 14px;
   font-weight: 700;
   letter-spacing: .13em;
   line-height: 1.1;
   text-transform: uppercase;
}

.post-template .dsc-hotel-verdict h2::before,
.post-template .dsc-hotel-practical h2::before {
   display: none;
}

.post-template .dsc-hotel-verdict p,
.post-template .dsc-hotel-verdict li {
   font-family: var(--dsc-font-headline);
   font-size: clamp(20px, 2vw, 26px);
   line-height: 1.42;
}

.post-template .dsc-hotel-verdict ul {
   display: grid;
   margin: 0;
   padding: 0;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1px;
   list-style: none;
   background: rgba(255, 255, 255, .35);
}

.post-template .dsc-hotel-verdict li {
   margin: 0;
   padding: 24px;
   background: var(--dsc-hotel-accent);
}

.post-template .dsc-hotel-verdict strong {
   display: block;
   margin-bottom: 7px;
   color: var(--dsc-hotel-highlight);
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.post-template .dsc-hotel-practical {
   padding: clamp(30px, 4vw, 54px);
   border-top: 8px solid var(--dsc-hotel-accent);
   background: var(--dsc-cream);
}

.post-template .dsc-hotel-practical h2 {
   color: var(--dsc-hotel-accent);
}

.post-template .dsc-hotel-practical ul {
   display: grid;
   margin: 0;
   padding: 0;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   column-gap: 48px;
   list-style: none;
}

.post-template .dsc-hotel-practical li {
   display: grid;
   margin: 0;
   padding: 14px 0;
   grid-template-columns: minmax(110px, .7fr) 1.3fr;
   gap: 18px;
   border-bottom: 1px solid var(--dsc-rule);
   font-size: 16px;
   line-height: 1.35;
}

.post-template .dsc-hotel-practical strong {
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.post-template .dsc-hotel-content > .post-share {
   margin-top: 88px;
}

@media (max-width: 800px) {
   .dsc-hotel-deck {
      grid-template-columns: 1fr;
      gap: 28px;
   }

   .dsc-hotel-deck.is-without-excerpt {
      grid-template-columns: 1fr;
      justify-content: stretch;
   }

   .post-template .dsc-hotel-verdict ul {
      grid-template-columns: 1fr;
   }

   .post-template .dsc-hotel-practical ul {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 680px) {
   .dsc-hotel-header {
      padding-top: 26px;
   }

   .dsc-hotel-kicker {
      margin-bottom: 17px;
      font-size: 11px;
   }

   .dsc-hotel-title {
      font-size: clamp(40px, 11.5vw, 49px);
      line-height: 1.06;
   }

   .dsc-hotel-deck {
      margin-top: 26px;
      padding-top: 15px;
   }

   .dsc-hotel-excerpt {
      font-size: 21px;
   }

   .dsc-hotel-cover {
      padding-inline: 0;
      padding-bottom: 24px;
   }

   .dsc-hotel-cover-image {
      aspect-ratio: 4 / 3;
   }

   .dsc-hotel-cover figcaption {
      box-sizing: border-box;
      width: 100%;
      margin-right: 0;
      padding-inline: var(--dsc-page-gutter);
   }

   .post-template .dsc-hotel-content {
      margin-top: 48px;
   }

   .post-template .dsc-hotel-body > p:first-of-type {
      font-size: 21px;
   }

   .post-template .dsc-hotel-body > h2 {
      margin-top: 72px;
      font-size: 37px;
   }

   .post-template .dsc-hotel-body > .kg-image-card:not(.kg-width-full),
   .post-template .dsc-hotel-body > .kg-image-card.kg-width-full,
   .post-template .dsc-hotel-body > .kg-gallery-card {
      width: 100vw;
      margin-top: 34px;
      margin-bottom: 44px;
   }

   .post-template .dsc-hotel-body > .kg-gallery-card {
      padding: 5px;
   }

   .post-template .dsc-hotel-body figcaption {
      box-sizing: border-box;
      width: 100%;
      margin-right: 0;
      padding-inline: var(--dsc-page-gutter);
   }

   .post-template .dsc-hotel-verdict,
   .post-template .dsc-hotel-practical {
      width: 100vw;
      margin-top: 72px;
   }

   .post-template .dsc-hotel-verdict,
   .post-template .dsc-hotel-practical {
      padding: 28px var(--dsc-page-gutter);
   }

   .post-template .dsc-hotel-practical li {
      grid-template-columns: 100px minmax(0, 1fr);
      gap: 16px;
   }
}

/* Plantilla seleccionable: Fotorreportaje. */
.dsc-photo-story {
   --dsc-photo-accent: var(--dsc-post-accent, var(--dsc-yellow));
   overflow: hidden;
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-photo-hero {
   position: relative;
   min-height: min(900px, 88svh);
   overflow: hidden;
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.dsc-photo-cover,
.dsc-photo-cover picture,
.dsc-photo-cover img {
   position: absolute;
   inset: 0;
   display: block;
   width: 100%;
   height: 100%;
   margin: 0;
}

.dsc-photo-cover img {
   object-fit: cover;
}

.dsc-photo-cover figcaption {
   position: absolute;
   right: var(--dsc-page-gutter);
   bottom: 18px;
   z-index: 3;
   max-width: 420px;
   padding: 6px 8px;
   color: rgba(255, 255, 255, .82);
   background: rgba(0, 0, 0, .62);
   font-family: var(--dsc-font-label);
   font-size: 11px;
   line-height: 1.3;
}

.dsc-photo-shade {
   position: absolute;
   z-index: 1;
   inset: 0;
   background:
      linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .02) 30%, rgba(0, 0, 0, .88) 100%);
}

.dsc-photo-hero-inner {
   position: relative;
   z-index: 2;
   display: flex;
   box-sizing: border-box;
   width: 100%;
   max-width: 1440px;
   min-height: min(900px, 88svh);
   margin: 0 auto;
   flex-direction: column;
   justify-content: flex-end;
   padding-top: 80px;
   padding-bottom: clamp(38px, 5vw, 74px);
}

.dsc-photo-kicker {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 20px;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-photo-kicker span {
   padding: 7px 10px 6px;
   color: var(--dsc-ink);
   background: var(--dsc-photo-accent);
}

.dsc-photo-kicker a {
   padding-left: 10px;
   border-left: 1px solid rgba(255, 255, 255, .72);
   color: var(--dsc-paper);
}

.dsc-photo-title {
   max-width: 1120px;
   margin: 0;
   color: var(--dsc-paper);
   font-family: var(--dsc-font-display);
   font-size: clamp(64px, 7.6vw, 112px);
   font-weight: 700;
   line-height: .98;
   letter-spacing: -.03em;
   text-shadow: 0 2px 18px rgba(0, 0, 0, .26);
}

.dsc-photo-hero-footer {
   display: flex;
   max-width: 1120px;
   align-items: center;
   justify-content: space-between;
   margin-top: 28px;
   padding-top: 14px;
   border-top: 1px solid rgba(255, 255, 255, .72);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.dsc-photo-story.is-without-cover .dsc-photo-hero,
.dsc-photo-story.is-without-cover .dsc-photo-hero-inner {
   min-height: 620px;
}

.dsc-photo-story.is-without-cover .dsc-photo-shade {
   background:
      linear-gradient(135deg, var(--dsc-ink) 0 72%, var(--dsc-photo-accent) 72% 100%);
}

.dsc-photo-intro {
   display: grid;
   box-sizing: border-box;
   width: 100%;
   max-width: 1180px;
   margin: 0 auto;
   padding-top: clamp(48px, 6vw, 86px);
   padding-bottom: clamp(70px, 8vw, 116px);
   grid-template-columns: minmax(0, 1.4fr) minmax(270px, .55fr);
   gap: clamp(46px, 7vw, 100px);
   align-items: start;
}

.dsc-photo-deck {
   position: relative;
   padding-top: 24px;
   border-top: 7px solid var(--dsc-photo-accent);
}

.dsc-photo-deck p {
   max-width: 760px;
   margin: 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(28px, 2.7vw, 40px);
   font-weight: 500;
   line-height: 1.28;
}

.dsc-photo-meta {
   padding-top: 17px;
   border-top: 2px solid var(--dsc-ink);
}

.dsc-photo-meta .global-meta {
   font-family: var(--dsc-font-condensed);
   font-size: 14px;
}

.dsc-photo-meta .post-share-wrap {
   display: flex;
   height: auto;
   align-items: center;
   gap: 9px;
   margin-top: 22px;
}

.dsc-photo-meta .post-share-wrap a,
.dsc-photo-meta .post-share-wrap svg {
   width: 29px;
   height: 29px;
}

.dsc-photo-meta .post-share-wrap a {
   display: inline-flex;
   flex: 0 0 29px;
}

.dsc-photo-reading {
   box-sizing: border-box;
   width: 100%;
   margin-bottom: clamp(80px, 10vw, 140px);
}

.post-template .dsc-photo-content {
   width: 100%;
   max-width: 720px;
   margin: 0 auto;
}

.post-template .dsc-photo-body {
   width: 100%;
}

.post-template .dsc-photo-body > p:first-of-type {
   font-size: 22px;
   line-height: 1.65;
}

.post-template .dsc-photo-story .dsc-photo-body h2 {
   width: min(1000px, calc(100vw - 2 * var(--dsc-page-gutter)));
   max-width: none;
   margin: clamp(86px, 10vw, 140px) 0 42px 50%;
   padding-top: 20px;
   transform: translateX(-50%);
   font-size: clamp(48px, 5vw, 72px);
   line-height: 1.04;
}

.post-template .dsc-photo-story .dsc-photo-body h2::before {
   width: 70px;
   height: 7px;
}

.post-template .dsc-photo-body > .kg-image-card:not(.kg-width-full),
.post-template .dsc-photo-body > .kg-gallery-card {
   position: relative;
   width: min(1120px, calc(100vw - 2 * var(--dsc-page-gutter)));
   max-width: none;
   margin: clamp(54px, 7vw, 96px) 0 clamp(60px, 8vw, 110px) 50%;
   transform: translateX(-50%);
}

.post-template .dsc-photo-body > .kg-image-card.kg-width-full {
   position: relative;
   width: min(1600px, 100vw);
   max-width: none;
   margin: clamp(64px, 8vw, 110px) 0 clamp(70px, 9vw, 124px) 50%;
   transform: translateX(-50%);
}

.post-template .dsc-photo-body > .kg-image-card.kg-width-full img {
   position: static;
   width: 100%;
   max-width: 100%;
   margin: 0;
}

.post-template .dsc-photo-body > .kg-image-card img {
   width: 100%;
}

.post-template .dsc-photo-body > .kg-gallery-card {
   width: min(1320px, 100vw);
   box-sizing: border-box;
   padding: clamp(8px, 1.5vw, 22px);
   background: var(--dsc-ink);
}

.post-template .dsc-photo-body > .kg-gallery-card .kg-gallery-container {
   width: 100%;
   margin-left: 0;
}

.post-template .dsc-photo-body .kg-gallery-image img {
   border-radius: 0 !important;
}

.post-template .dsc-photo-body figcaption {
   display: flex;
   max-width: 720px;
   align-items: flex-start;
   gap: 10px;
   margin: 9px auto 0;
   padding-top: 9px;
}

.post-template .dsc-photo-body .dsc-photo-number {
   min-width: 26px;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
}

.post-template .dsc-photo-body > .kg-gallery-card figcaption {
   border-color: rgba(255, 255, 255, .28);
   color: rgba(255, 255, 255, .82);
}

.post-template .dsc-photo-body > .kg-gallery-card .dsc-photo-number {
   color: var(--dsc-photo-accent);
}

.post-template .dsc-photo-body > blockquote {
   width: min(880px, calc(100vw - 2 * var(--dsc-page-gutter)));
   max-width: none;
   margin-right: 0;
   margin-left: 50%;
   transform: translateX(-50%);
}

.post-template .dsc-photo-content > .post-share {
   margin-top: 100px;
}

@media (max-width: 900px) {
   .dsc-photo-intro {
      grid-template-columns: 1fr;
      gap: 36px;
   }

   .dsc-photo-meta {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 20px;
      align-items: center;
   }

   .dsc-photo-meta .post-share-wrap {
      margin-top: 0;
   }
}

@media (max-width: 680px) {
   .dsc-photo-hero,
   .dsc-photo-hero-inner {
      min-height: max(580px, 76svh);
   }

   .dsc-photo-hero-inner {
      padding-top: 66px;
      padding-bottom: 30px;
   }

   .dsc-photo-cover figcaption {
      display: none;
   }

   .dsc-photo-kicker {
      gap: 7px;
      margin-bottom: 15px;
      font-size: 10px;
   }

   .dsc-photo-kicker a {
      padding-left: 7px;
   }

   .dsc-photo-title {
      font-size: clamp(43px, 13vw, 58px);
      line-height: 1.02;
   }

   .dsc-photo-hero-footer {
      margin-top: 20px;
      font-size: 10px;
   }

   .dsc-photo-hero-footer span:last-child {
      display: none;
   }

   .dsc-photo-intro {
      padding-top: 38px;
      padding-bottom: 66px;
      gap: 30px;
   }

   .dsc-photo-deck {
      padding-top: 17px;
      border-top-width: 5px;
   }

   .dsc-photo-deck p {
      font-size: 24px;
      line-height: 1.34;
   }

   .dsc-photo-meta {
      display: block;
   }

   .dsc-photo-meta .post-share-wrap {
      margin-top: 18px;
   }

   .post-template .dsc-photo-body > p:first-of-type {
      font-size: 20px;
      line-height: 1.62;
   }

   .post-template .dsc-photo-story .dsc-photo-body h2 {
      width: 100%;
      margin-top: 80px;
      margin-bottom: 30px;
      margin-left: 0;
      padding-top: 16px;
      transform: none;
      font-size: clamp(40px, 12vw, 52px);
      line-height: 1.08;
   }

   .post-template .dsc-photo-story .dsc-photo-body h2::before {
      width: 48px;
      height: 5px;
   }

   .post-template .dsc-photo-body > .kg-image-card:not(.kg-width-full),
   .post-template .dsc-photo-body > .kg-image-card.kg-width-full,
   .post-template .dsc-photo-body > .kg-gallery-card {
      width: 100vw;
      margin-top: 48px;
      margin-bottom: 62px;
   }

   .post-template .dsc-photo-body > .kg-gallery-card {
      padding: 6px;
   }

   .post-template .dsc-photo-body figcaption {
      padding-inline: var(--dsc-page-gutter);
   }

   .post-template .dsc-photo-body > blockquote {
      width: 100%;
   }
}

/* Plantilla seleccionable: Guía / reportaje de destino. */
.dsc-destination-story {
   --dsc-destination-accent: var(--dsc-post-accent, var(--dsc-yellow));
   background: var(--dsc-paper);
}

.dsc-destination-hero {
   padding-top: clamp(36px, 5vw, 76px);
}

.dsc-destination-intro {
   display: grid;
   box-sizing: border-box;
   width: 100%;
   max-width: 1280px;
   margin: 0 auto;
   padding-bottom: clamp(34px, 4.5vw, 62px);
   grid-template-columns: minmax(0, 1.5fr) minmax(290px, .58fr);
   gap: clamp(38px, 6vw, 96px);
   align-items: end;
}

.dsc-destination-kicker {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 20px;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-destination-kicker a {
   padding: 7px 10px 6px;
   color: var(--dsc-ink);
   background: var(--dsc-destination-accent);
}

.dsc-destination-kicker span {
   padding-left: 12px;
   border-left: 1px solid var(--dsc-ink);
}

.dsc-destination-title {
   max-width: 950px;
   margin: 0;
   font-family: var(--dsc-font-display);
   font-size: clamp(62px, 7vw, 100px);
   font-weight: 700;
   line-height: 1.03;
   letter-spacing: -.03em;
}

.dsc-destination-topics {
   display: flex;
   flex-wrap: wrap;
   gap: 7px;
   margin-top: 24px;
}

.dsc-destination-topics a {
   padding: 6px 9px 5px;
   border: 1px solid var(--dsc-ink);
   color: var(--dsc-ink);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .06em;
   line-height: 1;
   text-transform: uppercase;
}

.dsc-destination-deck {
   padding-top: 18px;
   border-top: 6px solid var(--dsc-destination-accent);
}

.dsc-destination-excerpt {
   margin: 0;
   color: var(--dsc-ink);
   font-family: var(--dsc-font-headline);
   font-size: clamp(21px, 1.8vw, 27px);
   font-weight: 500;
   line-height: 1.35;
}

.dsc-destination-meta {
   margin-top: 26px;
   padding-top: 16px;
   border-top: 1px solid var(--dsc-ink);
}

.dsc-destination-meta .global-meta {
   font-family: var(--dsc-font-condensed);
   font-size: 14px;
}

.dsc-destination-cover {
   width: calc(100% - 2 * var(--dsc-page-gutter));
   max-width: 1400px;
   margin: 0 auto clamp(58px, 7vw, 100px);
}

.dsc-destination-cover-image {
   position: relative;
   aspect-ratio: 16 / 8.5;
   overflow: hidden;
   background: var(--dsc-cream);
}

.dsc-destination-cover-image picture,
.dsc-destination-cover-image img {
   display: block;
   width: 100%;
   height: 100%;
}

.dsc-destination-cover-image img {
   object-fit: cover;
}

.dsc-destination-cover figcaption {
   max-width: 900px;
   margin: 10px 0 0;
   font-family: var(--dsc-font-label);
   font-size: 12px;
   letter-spacing: .04em;
}

.dsc-destination-reading {
   display: grid;
   box-sizing: border-box;
   width: 100%;
   max-width: 1100px;
   margin: 0 auto clamp(68px, 8vw, 110px);
   grid-template-columns: 230px minmax(0, 740px);
   gap: clamp(42px, 6vw, 88px);
   align-items: start;
}

.dsc-destination-story.is-without-toc .dsc-destination-reading {
   grid-template-columns: minmax(0, 740px);
   justify-content: center;
}

.dsc-destination-rail {
   position: static;
   padding-top: 13px;
   border-top: 4px solid var(--dsc-ink);
}

.dsc-destination-toc-toggle {
   display: flex;
   width: 100%;
   align-items: center;
   justify-content: space-between;
   padding: 0 0 12px;
   border: 0;
   color: var(--dsc-ink);
   background: transparent;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .1em;
   text-align: left;
   text-transform: uppercase;
   pointer-events: none;
}

.dsc-destination-toc-toggle > span:last-child {
   display: none;
}

.dsc-destination-toc ol {
   margin: 0;
   padding: 0;
   list-style: none;
}

.dsc-destination-toc li {
   border-top: 1px solid var(--dsc-rule);
}

.dsc-destination-toc a {
   display: block;
   padding: 9px 0;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-condensed);
   font-size: 14px;
   font-weight: 500;
   line-height: 1.25;
   text-decoration: none;
}

.dsc-destination-toc a:hover,
.dsc-destination-toc a.is-active {
   color: var(--dsc-ink);
}

.dsc-destination-toc a.is-active {
   padding-left: 9px;
   border-left: 5px solid var(--dsc-destination-accent);
   font-weight: 700;
}

.dsc-destination-rail-meta {
   display: flex;
   flex-direction: column;
   gap: 14px;
   margin-top: 18px;
   padding-top: 13px;
   border-top: 1px solid var(--dsc-ink);
   color: var(--dsc-muted);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   letter-spacing: .04em;
   text-transform: uppercase;
}

.dsc-destination-rail .post-share-wrap {
   display: flex;
   height: auto;
   align-items: center;
   justify-content: flex-start;
   gap: 8px;
}

.dsc-destination-rail .post-share-wrap a {
   display: inline-flex;
   width: 28px;
   height: 28px;
   flex: 0 0 28px;
   align-items: center;
   justify-content: center;
}

.dsc-destination-rail .post-share-wrap svg {
   width: 28px;
   height: 28px;
}

.dsc-destination-content {
   max-width: 740px;
   margin: 0;
}

.dsc-destination-body > p:first-of-type {
   font-size: 22px;
   line-height: 1.62;
}

.dsc-destination-body h2 {
   scroll-margin-top: 100px;
}

.dsc-destination-body .kg-callout-card {
   border: 0;
   border-top: 5px solid var(--dsc-ink);
   background: var(--dsc-destination-accent);
}

@media (max-width: 900px) {
   .dsc-destination-intro {
      grid-template-columns: 1fr;
      gap: 28px;
   }

   .dsc-destination-title {
      max-width: 1000px;
      font-size: clamp(54px, 9vw, 78px);
   }

   .dsc-destination-deck {
      max-width: 760px;
   }

   .dsc-destination-reading {
      grid-template-columns: minmax(0, 740px);
      justify-content: center;
      gap: 30px;
   }

   .dsc-destination-rail {
      position: static;
      width: 100%;
      max-width: 740px;
   }

   .dsc-destination-toc-toggle {
      cursor: pointer;
      pointer-events: auto;
   }

   .dsc-destination-toc-toggle > span:last-child {
      display: block;
      font-size: 22px;
      line-height: 1;
      transition: transform .2s ease;
   }

   .dsc-destination-toc-toggle[aria-expanded="false"] + .dsc-destination-toc {
      display: none;
   }

   .dsc-destination-toc-toggle[aria-expanded="true"] > span:last-child {
      transform: rotate(45deg);
   }

   .dsc-destination-rail-meta {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
   }
}

@media (max-width: 680px) {
   .dsc-destination-hero {
      padding-top: 25px;
   }

   .dsc-destination-intro {
      padding-bottom: 28px;
   }

   .dsc-destination-kicker {
      gap: 8px;
      margin-bottom: 14px;
      font-size: 11px;
   }

   .dsc-destination-kicker span {
      padding-left: 8px;
   }

   .dsc-destination-title {
      font-size: clamp(40px, 12vw, 52px);
      line-height: 1.08;
   }

   .dsc-destination-topics {
      margin-top: 18px;
   }

   .dsc-destination-deck {
      padding-top: 14px;
      border-top-width: 5px;
   }

   .dsc-destination-excerpt {
      font-size: 20px;
      line-height: 1.38;
   }

   .dsc-destination-cover {
      width: 100%;
      margin-bottom: 42px;
   }

   .dsc-destination-cover-image {
      aspect-ratio: 4 / 3;
   }

   .dsc-destination-cover figcaption {
      padding-inline: var(--dsc-page-gutter);
   }

   .dsc-destination-reading {
      gap: 24px;
      margin-bottom: 70px;
   }

   .dsc-destination-rail {
      padding-top: 11px;
      border-top-width: 3px;
   }

   .dsc-destination-rail-meta {
      align-items: flex-start;
   }

   .dsc-destination-body > p:first-of-type {
      font-size: 20px;
      line-height: 1.6;
   }
}

/* La nueva identidad manda sobre la selección tipográfica heredada del tema. */
body {
   --font-family-one: var(--dsc-font-display);
   --font-family-two: var(--dsc-font-headline);
   --font-family-three: var(--dsc-font-copy);
   --font-weight-one-light: 700;
   --font-weight-one-bold: 700;
   --font-weight-two-bold: 600;
   --font-weight-three-regular: 400;
   --font-weight-three-medium: 500;
   --font-weight-three-bold: 700;
}

body.home-template {
   --ghost-accent-color: var(--dsc-pink);
   background: var(--dsc-paper);
}

/* Cabecera: neutral para que el color pertenezca al contenido editorial. */
.header-section {
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.header-section .header-wrap {
   box-sizing: border-box;
   display: flex;
   width: min(100%, var(--dsc-page-max));
   min-height: 0;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   margin: 0 auto;
   padding: 12px var(--dsc-page-gutter);
   border-bottom: 4px solid var(--dsc-ink);
   text-align: left;
}

.header-section .header-logo {
   margin: 0 clamp(18px, 2.2vw, 34px) 0 0;
}

.header-section .header-logo img {
   height: clamp(34px, 2.65vw, 38px);
}

.header-section .header-nav {
   min-width: 0;
   flex: 0 1 auto;
   width: auto;
}

.header-section .header-nav nav {
   width: auto;
   justify-content: center;
   gap: clamp(8px, 1.2vw, 18px);
   margin: 0;
   padding: 0;
   border: 0;
}

.header-section .header-nav nav > ul {
   gap: clamp(7px, 1vw, 15px);
}

.header-section .header-nav nav > ul:first-of-type {
   min-width: 0;
   flex: 0 1 auto;
   justify-content: center;
}

.header-section .header-nav nav > ul:last-of-type {
   flex: 0 0 auto;
   gap: 11px;
}

.header-section .header-nav nav li {
   margin-left: 0;
}

.header-section .header-wrap li,
.header-section .header-wrap a {
   font-family: var(--dsc-font-condensed);
   font-size: clamp(1.35rem, 1.05vw, 1.5rem);
   font-weight: 600;
   letter-spacing: .035em;
   white-space: nowrap;
}

.header-section .header-nav a:hover,
.header-section .header-nav a.is-active {
   text-decoration-color: var(--dsc-pink);
   text-decoration-thickness: 3px;
   text-underline-offset: 4px;
}

.header-section .header-nav .signup .global-button {
   padding: 9px 14px;
   color: var(--dsc-ink) !important;
   letter-spacing: .045em;
   text-transform: uppercase;
}

.header-section .header-nav .signup .global-button,
.header-section .header-nav .signup .global-button::before {
   border-radius: 0;
}

.header-section .header-nav .signup .global-button::before {
   background: var(--dsc-yellow);
}

.header-section .header-nav .signup .global-button:hover::before {
   right: -3px;
   left: -3px;
}

/* Artículo individual: apertura y sistema editorial Descubrir. */
body.post-template {
   --ghost-accent-color: var(--dsc-pink);
   background: var(--dsc-paper);
}

body.post-template.tag-espana {
   --ghost-accent-color: var(--dsc-yellow);
}

body.post-template.tag-turismo-sostenible {
   --ghost-accent-color: var(--dsc-acid-green);
}

body.post-template.tag-hoteles {
   --ghost-accent-color: var(--dsc-blue);
}

body.post-template.tag-cultura {
   --ghost-accent-color: var(--dsc-pink);
}

body.post-template.tag-gastronomia,
body.post-template.tag-gastronomia-2 {
   --ghost-accent-color: var(--dsc-coral);
}

.post-template .post-progress {
   height: 5px;
}

.post-template .post-section {
   --dsc-post-accent: var(--dsc-pink);
}

.post-template .post-section.tag-espana {
   --dsc-post-accent: var(--dsc-yellow);
}

.post-template .post-section.tag-turismo-sostenible {
   --dsc-post-accent: var(--dsc-acid-green);
}

.post-template .post-section.tag-hoteles {
   --dsc-post-accent: var(--dsc-blue);
}

.post-template .post-section.tag-cultura {
   --dsc-post-accent: var(--dsc-pink);
}

.post-template .post-section.tag-gastronomia,
.post-template .post-section.tag-gastronomia-2 {
   --dsc-post-accent: var(--dsc-coral);
}

.post-template .post-header-wrap {
   margin-top: 0;
   margin-bottom: clamp(48px, 6vw, 86px);
   padding-top: clamp(34px, 4.5vw, 68px);
}

.post-template .post-header-content {
   max-width: 1180px;
}

.post-template .dsc-post-kicker {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 18px;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.post-template .dsc-post-kicker a {
   display: inline-block;
   padding: 7px 10px 6px;
   color: var(--dsc-ink);
   background: var(--dsc-post-accent);
}

.post-template .dsc-post-kicker span {
   padding-left: 12px;
   border-left: 1px solid var(--dsc-ink);
}

.post-template .post-title {
   max-width: 1050px;
   margin: 0;
   font-family: var(--dsc-font-display);
   font-size: clamp(58px, 6.2vw, 88px);
   font-weight: 700;
   line-height: 1.1;
   letter-spacing: -.025em;
}

.post-template .post-excerpt {
   max-width: 850px;
   margin-top: 24px;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-headline);
   font-size: clamp(22px, 2vw, 28px);
   font-weight: 500;
   line-height: 1.35;
   opacity: 1;
}

.post-template .dsc-post-topics {
   display: flex;
   flex-wrap: wrap;
   gap: 7px;
   max-width: 850px;
   margin-top: 24px;
}

.post-template .dsc-post-topics a {
   padding: 6px 9px 5px;
   border: 1px solid var(--dsc-ink);
   color: var(--dsc-ink);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .06em;
   line-height: 1;
   text-transform: uppercase;
}

.post-template .dsc-post-topics a:hover {
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.post-template .post-meta-wrap {
   max-width: 1050px;
   margin-top: 30px;
   padding-top: 18px;
   border-top: 2px solid var(--dsc-ink);
}

.post-template .post-meta-wrap .global-meta {
   font-family: var(--dsc-font-condensed);
   font-size: 14px;
}

.post-template .post-meta-wrap .post-share-wrap svg {
   opacity: 1;
}

.post-template .post-header-image {
   max-width: 1200px;
   margin-top: clamp(34px, 4vw, 58px);
}

.post-template .post-header-image .global-image-orientation,
.post-template .post-header-image .global-image-orientation > img {
   border-radius: 0;
}

.post-template .post-header-image figcaption {
   margin-top: 9px;
   font-family: var(--dsc-font-label);
   font-size: 12px;
   letter-spacing: .04em;
}

.post-template .post-content {
   color: var(--dsc-ink);
   font-family: var(--dsc-font-copy);
}

.post-template .post-content p {
   line-height: 1.62;
}

.post-template .post-content h1,
.post-template .post-content h2,
.post-template .post-content h3 {
   position: relative;
   font-family: var(--dsc-font-display);
   font-weight: 700;
   line-height: 1.18;
   letter-spacing: -.02em;
}

.post-template .post-content h2 {
   margin-top: 1.35em;
   padding-top: 17px;
}

.post-template .post-content h2::before {
   position: absolute;
   top: 0;
   left: 0;
   width: 54px;
   height: 6px;
   background: var(--dsc-post-accent);
   content: "";
}

.post-template .post-content a {
   text-decoration-color: var(--dsc-post-accent);
   text-decoration-thickness: 2px;
   text-underline-offset: 3px;
}

.post-template .post-content blockquote {
   margin-block: 52px;
   padding: 28px 32px 30px;
   border: 0;
   border-top: 5px solid var(--dsc-ink);
   border-bottom: 1px solid var(--dsc-ink);
   color: var(--dsc-ink);
   background: var(--dsc-post-accent);
   font-family: var(--dsc-font-headline);
   font-size: 29px;
   font-weight: 600;
   line-height: 1.28;
}

.post-template .post-content blockquote p {
   font: inherit;
   line-height: inherit;
}

.post-template .post-content img,
.post-template .post-content .kg-callout-card,
.post-template .post-content .kg-bookmark-container {
   border-radius: 0;
}

.post-template .post-content figcaption {
   padding-top: 8px;
   border-top: 1px solid var(--dsc-rule);
   font-family: var(--dsc-font-label);
   font-size: 12px;
   letter-spacing: .035em;
}

.post-template .post-content > .post-share {
   margin-top: 70px;
   padding-top: 18px;
   border-top: 4px solid var(--dsc-ink);
}

.post-template .post-share > div a {
   border-right: 1px solid var(--dsc-paper);
   border-radius: 0;
   background: var(--dsc-ink);
}

.post-template .post-share > div a:hover {
   background: var(--dsc-post-accent);
}

.post-template .post-share > div a svg {
   fill: var(--dsc-paper);
}

.post-template .post-share > div a:hover svg {
   fill: var(--dsc-ink);
}

.post-template .dsc-post-author {
   display: grid;
   margin-top: 52px;
   padding: 24px 0;
   border-top: 1px solid var(--dsc-ink);
   border-bottom: 1px solid var(--dsc-ink);
   grid-template-columns: 92px minmax(0, 1fr);
   gap: 22px;
}

.post-template .dsc-post-author__image {
   display: block;
   width: 92px;
   height: 92px;
}

.post-template .dsc-post-author__image img {
   width: 100%;
   height: 100%;
   border-radius: 50%;
   object-fit: cover;
}

.post-template .dsc-post-author__label,
.post-template .dsc-post-author__more {
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.post-template .dsc-post-author__label {
   color: var(--dsc-muted);
}

.post-template .dsc-post-author__name {
   margin: 4px 0 7px;
   padding: 0;
   font-family: var(--dsc-font-display);
   font-size: 28px;
   line-height: 1.15;
}

.post-template .dsc-post-author__name::before {
   display: none;
}

.post-template .dsc-post-author__bio {
   margin: 0 0 10px;
   color: var(--dsc-muted);
   font-size: 15px;
   line-height: 1.45;
}

.post-template .dsc-post-author__more {
   text-decoration: none;
}

.post-template .special-section {
   margin-top: 0;
   padding-top: clamp(40px, 5vw, 72px);
   padding-bottom: clamp(42px, 5vw, 74px);
   border-top: 5px solid var(--dsc-ink);
   background: var(--dsc-cream);
}

.post-template .special-section > .global-subtitle {
   margin-bottom: 26px;
   color: var(--dsc-ink);
   font-family: var(--dsc-font-display);
   font-size: clamp(42px, 5vw, 68px);
   font-weight: 700;
   line-height: 1;
   letter-spacing: -.02em;
   text-transform: uppercase;
}

.post-template .special-wrap {
   margin-bottom: 0;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: clamp(16px, 2vw, 30px);
}

.post-template .special-wrap .item-image,
.post-template .special-wrap .item-image img {
   border-radius: 0;
}

.post-template .special-wrap .item-title {
   font-family: var(--dsc-font-headline);
   font-size: clamp(21px, 2vw, 28px);
   line-height: 1.18;
}

.post-template .comments-section {
   margin-top: clamp(42px, 5vw, 72px);
   margin-bottom: clamp(52px, 6vw, 88px);
}

.post-template .comments-wrap {
   overflow: hidden;
   max-width: 1280px;
   margin-inline: auto;
   border-top: 8px solid var(--dsc-yellow);
   border-radius: 0;
   background: var(--dsc-cream);
}

.post-template .comments-content {
   box-sizing: border-box;
   width: min(100%, 1080px);
   max-width: none;
   padding-inline: clamp(22px, 5vw, 72px);
}

.post-template .comments-content > div:first-of-type {
   padding-top: clamp(34px, 4vw, 58px);
}

.post-template .comments-content > div:last-of-type {
   padding-bottom: clamp(28px, 4vw, 54px);
}

.post-template .comments-header {
   align-items: flex-end;
   gap: 24px;
   margin-bottom: 0;
   padding-bottom: clamp(18px, 2vw, 26px);
   border-bottom: 1px solid var(--dsc-ink);
}

.post-template .comments-heading {
   flex: 1 1 auto;
}

.post-template .comments-header h3 {
   margin: 4px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(32px, 4vw, 54px);
   font-weight: 700;
   line-height: .98;
   letter-spacing: -.025em;
}

.post-template .comments-header .dsc-comments-kicker {
   display: block;
   margin: 0;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-label);
   font-size: 13px;
   font-weight: 400;
   line-height: 1;
   letter-spacing: .12em;
   text-align: left;
   text-transform: uppercase;
   opacity: 1;
}

.post-template .dsc-comments-count,
.post-template .dsc-comments-count span {
   flex: 0 0 auto;
   margin: 0;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-copy);
   font-size: 14px;
   line-height: 1.2;
   text-align: right;
   opacity: 1;
}

.post-template .dsc-comments-intro {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   padding: clamp(20px, 2.5vw, 32px) 0 4px;
}

.post-template .dsc-comments-intro p {
   max-width: 600px;
   margin: 0;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-copy);
   font-size: clamp(16px, 1.4vw, 19px);
   line-height: 1.45;
}

.post-template .dsc-comments-intro a {
   flex: 0 0 auto;
   padding: 12px 16px;
   border: 1px solid var(--dsc-ink);
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
   font-family: var(--dsc-font-label);
   font-size: 13px;
   line-height: 1;
   letter-spacing: .06em;
   text-decoration: none;
   text-transform: uppercase;
   transition: color .2s ease, background-color .2s ease;
}

.post-template .dsc-comments-intro a:hover {
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.post-template .comments-section div > div[id] {
   padding-top: clamp(20px, 2.5vw, 32px);
   border-top: 0;
}

@media (max-width: 640px) {
   .post-template .comments-wrap {
      border-top-width: 6px;
   }

   .post-template .comments-header {
      align-items: flex-start;
      flex-direction: column;
      gap: 12px;
   }

   .post-template .comments-header h3 {
      font-size: clamp(34px, 11vw, 46px);
   }

   .post-template .dsc-comments-count,
   .post-template .dsc-comments-count span {
      text-align: left;
   }

   .post-template .dsc-comments-intro {
      align-items: flex-start;
      flex-direction: column;
      gap: 18px;
   }

   .post-template .dsc-comments-intro a {
      box-sizing: border-box;
      width: 100%;
      line-height: 1.25;
      text-align: center;
   }
}

/* Ritmo de portada: sustituye los <br> usados como espaciadores. */
.dsc-home {
   overflow: clip;
   background: var(--dsc-paper);
}

.dsc-home > section {
   box-sizing: border-box;
   width: min(100%, var(--dsc-page-max));
}

.dsc-home > section:not(:last-of-type) {
   margin-bottom: var(--dsc-section-gap);
}

/* Cada categoría tiene un acento, pero comparte la misma estructura. */
.dsc-home .dsc-cat {
   --dsc-module-accent: var(--dsc-ink);
}

.dsc-home .dsc-cat--turismo {
   --dsc-module-accent: var(--dsc-acid-green);
}

.dsc-home .dsc-cat--hoteles {
   --dsc-module-accent: var(--dsc-blue);
}

.dsc-home .dsc-cat--gastronomia {
   --dsc-module-accent: var(--dsc-coral);
}

.dsc-home .dsc-cat .dsc-cat__topline {
   background: linear-gradient(
      90deg,
      var(--dsc-module-accent) 0 clamp(64px, 8vw, 120px),
      var(--dsc-ink) clamp(64px, 8vw, 120px)
   );
}

.dsc-home .dsc-cat__title,
.dsc-home .dsc-act__title {
   font-family: var(--dsc-font-display);
   font-weight: 700;
   letter-spacing: -.025em;
}

.dsc-home .dsc-hero__title,
.dsc-home .dsc-feat__logo,
.dsc-home .dsc-dest__name,
.dsc-home .dsc-dest__card-title,
.dsc-home .dsc-esp__title,
.dsc-home .dsc-now__heading,
.dsc-home .dsc-now__title,
.dsc-home .dsc-long__title,
.dsc-home .dsc-cul__title,
.dsc-home .dsc-cul__card-title,
.dsc-home .dsc-act__feat-title,
.dsc-home .dsc-rev__titulo,
.dsc-home .dsc-rev::before {
   font-family: var(--dsc-font-display);
   font-weight: 700;
   letter-spacing: -.025em;
}

.dsc-home .dsc-feat__logo,
.dsc-home .dsc-act__title {
   text-transform: uppercase;
}

/* Antonio tiene ascendentes y tildes altas: los titulares multilínea
   necesitan más aire que los rótulos de una sola línea. */
.dsc-home .dsc-hero__title,
.dsc-home .dsc-feat__title,
.dsc-home .dsc-dest__card-title,
.dsc-home .dsc-now__title,
.dsc-home .dsc-long__title,
.dsc-home .dsc-cul__card-title,
.dsc-home .dsc-act__feat-title,
.dsc-home .dsc-rev__titulo {
   line-height: 1.22;
}

.dsc-home .dsc-cat__title {
   line-height: 1.12;
}

.dsc-home .dsc-cat__card-title,
.dsc-home .dsc-act__item-title {
   font-family: var(--dsc-font-headline);
}

.dsc-home .dsc-cat__excerpt,
.dsc-home .dsc-act__feat-excerpt {
   font-family: var(--dsc-font-copy);
   font-size: var(--dsc-copy-size);
   line-height: 1.48;
   color: var(--dsc-muted);
}

.dsc-home .dsc-cat__author,
.dsc-home .dsc-now__author,
.dsc-home .dsc-act__feat-author,
.dsc-home .dsc-act__item-author {
   font-family: var(--dsc-font-condensed);
   font-size: var(--dsc-meta-size);
   color: var(--dsc-muted);
}

/* Destino destacado: bloque naranja de alta energía, como en la propuesta web. */
.dsc-home .dsc-dest__inner {
   background: var(--dsc-orange);
}

.dsc-home .dsc-dest__kicker {
   color: rgba(255, 255, 255, .84);
}

.dsc-home .dsc-dest__name {
   letter-spacing: -.025em;
}

/* Cultura: campo magenta continuo en vez de usar el color solo como adorno. */
.dsc-home .dsc-cul__editorial,
.dsc-home .dsc-cul__card {
   background: var(--dsc-pink);
}

.dsc-home .dsc-cul__ed-overlay {
   background: repeating-linear-gradient(
      45deg,
      rgba(0, 0, 0, .04) 0,
      rgba(0, 0, 0, .04) 4px,
      rgba(255, 255, 255, .035) 4px,
      rgba(255, 255, 255, .035) 8px
   );
}

.dsc-home .dsc-cul__title,
.dsc-home .dsc-cul__card-title {
   color: var(--dsc-paper);
}

.dsc-home .dsc-cul__card {
   border-color: rgba(255, 255, 255, .48);
}

.dsc-home .dsc-cul__card-author {
   color: rgba(255, 255, 255, .76);
}

.dsc-home .dsc-cul__topline,
.dsc-home .dsc-cul__bottomline {
   background: var(--dsc-ink);
}

/* Actualidad incorpora el azul eléctrico sin convertirlo en color corporativo. */
.dsc-home .dsc-act__topline {
   background: linear-gradient(
      90deg,
      var(--dsc-blue) 0 clamp(64px, 8vw, 120px),
      var(--dsc-ink) clamp(64px, 8vw, 120px)
   );
}

/* Controles editoriales: menos redondeados, más gráficos. */
.dsc-home .dsc-cat__btn {
   border-radius: 0;
}

.dsc-home .dsc-cat__btn--prev {
   color: var(--dsc-ink);
   background: var(--dsc-rule);
}

.dsc-home .dsc-cat__btn--next {
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
}

/* Escapadas de la semana: España + estación con override editorial opcional. */
.dsc-now {
   max-width: var(--dsc-page-max);
   margin-inline: auto;
   color: var(--dsc-ink);
}

.dsc-now *,
.dsc-now *::before,
.dsc-now *::after {
   box-sizing: border-box;
}

.dsc-now__layout {
   border-top: 4px solid var(--dsc-ink);
   border-bottom: 1px solid var(--dsc-ink);
}

.dsc-now__intro {
   position: relative;
   display: grid;
   min-height: 245px;
   grid-template-columns: minmax(0, 1.7fr) minmax(250px, .7fr);
   gap: clamp(32px, 5vw, 80px);
   align-items: end;
   padding: clamp(24px, 3vw, 44px) var(--dsc-page-gutter);
   overflow: hidden;
   background: var(--dsc-yellow);
}

.dsc-now__intro::after {
   position: absolute;
   right: -46px;
   bottom: -116px;
   width: 260px;
   height: 260px;
   border: 38px solid rgba(0, 0, 0, .075);
   border-radius: 50%;
   content: "";
}

.dsc-now__eyebrow,
.dsc-now__season,
.dsc-now__month,
.dsc-now__timing,
.dsc-now__tag,
.dsc-now__author {
   font-family: var(--dsc-font-condensed);
}

.dsc-now__intro-copy,
.dsc-now__intro-meta {
   position: relative;
   z-index: 1;
}

.dsc-now__eyebrow {
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .13em;
   text-transform: uppercase;
}

.dsc-now__heading {
   margin: 18px 0 0;
   font-size: clamp(48px, 6.2vw, 88px);
   line-height: .98;
   text-transform: uppercase;
}

.dsc-now__heading span {
   display: inline-block;
   margin-top: 5px;
   padding: 0 .09em .06em;
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-now__season {
   max-width: 390px;
   margin: 0 0 18px;
   font-size: clamp(16px, 1.6vw, 21px);
   font-weight: 700;
   line-height: 1.22;
}

.dsc-now__month {
   display: block;
   padding-top: 12px;
   border-top: 1px solid rgba(0, 0, 0, .5);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-now__cue {
   position: absolute;
   right: -3px;
   bottom: -7px;
   z-index: 1;
   font-family: var(--dsc-font-label);
   font-size: 26px;
}

.dsc-now__cards {
   display: grid;
   min-width: 0;
   grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dsc-now__card {
   min-width: 0;
   border-left: 1px solid var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-now__card:nth-of-type(4n + 1) {
   --dsc-card-accent: var(--dsc-pink);
}

.dsc-now__card:nth-of-type(4n + 2) {
   --dsc-card-accent: var(--dsc-electric-cyan);
}

.dsc-now__card:nth-of-type(4n + 3) {
   --dsc-card-accent: var(--dsc-orange);
}

.dsc-now__card:nth-of-type(4n) {
   --dsc-card-accent: var(--dsc-acid-green);
}

.dsc-now__card-link {
   display: flex;
   height: 100%;
   flex-direction: column;
   color: inherit;
   text-decoration: none;
}

.dsc-now__media {
   position: relative;
   aspect-ratio: 4 / 3;
   margin: 0;
   overflow: hidden;
   background: var(--dsc-ink);
}

.dsc-now__image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .55s ease;
}

.dsc-now__image--empty {
   background: #2a2a2a;
}

.dsc-now__card-link:hover .dsc-now__image {
   transform: scale(1.035);
}

.dsc-now__number {
   position: absolute;
   top: 0;
   right: 0;
   min-width: 42px;
   padding: 7px 9px 6px;
   color: var(--dsc-ink);
   background: var(--dsc-card-accent);
   font-family: var(--dsc-font-label);
   font-size: 15px;
   line-height: 1;
   text-align: center;
}

.dsc-now__timing {
   position: absolute;
   bottom: 0;
   left: 0;
   padding: 7px 10px 6px;
   color: var(--dsc-paper);
   background: rgba(0, 0, 0, .82);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .08em;
   line-height: 1;
   text-transform: uppercase;
}

.dsc-now__body {
   display: flex;
   min-height: 230px;
   flex: 1;
   flex-direction: column;
   padding: 17px 16px 18px;
   border-top: 7px solid var(--dsc-card-accent);
}

.dsc-now__tag {
   margin-bottom: 10px;
   color: var(--dsc-muted);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-now__title {
   margin: 0 0 12px;
   font-size: clamp(21px, 1.8vw, 28px);
   line-height: 1.16;
   text-transform: uppercase;
}

.dsc-now__excerpt {
   display: -webkit-box;
   margin: 0 0 18px;
   overflow: hidden;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-copy);
   font-size: 14px;
   line-height: 1.42;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
}

.dsc-now__author {
   margin-top: auto;
   color: var(--dsc-muted);
   font-size: 12px;
}

/* Gran reportaje: contraplano contemporáneo del módulo inmersivo de Tortuguero. */
.dsc-long {
   max-width: 1200px;
   margin-inline: auto;
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.dsc-long *,
.dsc-long *::before,
.dsc-long *::after {
   box-sizing: border-box;
}

.dsc-long__link {
   display: grid;
   min-height: clamp(430px, 46vw, 610px);
   grid-template-columns: minmax(0, 1.9fr) minmax(320px, 1fr);
   color: inherit;
   text-decoration: none;
}

.dsc-long__media {
   position: relative;
   min-width: 0;
   margin: 0;
   overflow: hidden;
   background: #222;
}

.dsc-long__image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .7s ease;
}

.dsc-long__link:hover .dsc-long__image {
   transform: scale(1.025);
}

.dsc-long__image-label {
   position: absolute;
   bottom: 18px;
   left: 20px;
   padding: 7px 10px 6px;
   color: var(--dsc-ink);
   background: var(--dsc-electric-cyan);
   font-family: var(--dsc-font-label);
   font-size: 12px;
   letter-spacing: .06em;
   text-transform: uppercase;
}

.dsc-long__panel {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   padding: clamp(24px, 3.2vw, 46px);
   border-left: 1px solid rgba(255, 255, 255, .34);
   background: var(--dsc-pink);
}

.dsc-long--photo .dsc-long__panel {
   color: var(--dsc-ink);
   background: var(--dsc-electric-cyan);
}

.dsc-long--photo .dsc-long__image-label {
   background: var(--dsc-yellow);
}

.dsc-long__kicker,
.dsc-long__tag,
.dsc-long__meta {
   font-family: var(--dsc-font-condensed);
}

.dsc-long__kicker {
   display: inline-block;
   padding: 6px 9px 5px;
   color: var(--dsc-paper);
   background: var(--dsc-ink);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase;
}

.dsc-long__tag {
   display: block;
   margin-top: 12px;
   font-size: 13px;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-long__story {
   margin-block: 34px;
}

.dsc-long__title {
   max-width: 12ch;
   margin: 0 0 20px;
   font-size: clamp(36px, 4vw, 60px);
   line-height: 1.08;
   text-transform: uppercase;
}

.dsc-long__excerpt {
   display: -webkit-box;
   margin: 0;
   overflow: hidden;
   font-family: var(--dsc-font-copy);
   font-size: var(--dsc-copy-size);
   line-height: 1.48;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 4;
}

.dsc-long__meta {
   display: flex;
   flex-wrap: wrap;
   gap: 8px 16px;
   font-size: 13px;
   line-height: 1.3;
}

.dsc-long__cta {
   width: 100%;
   margin-top: 8px;
   font-family: var(--dsc-font-label);
   font-size: 14px;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
}

@media (max-width: 1024px) {
   .header-section .header-wrap {
      padding: 10px var(--dsc-page-gutter) 16px;
      border-bottom-width: 3px;
   }

   .header-section .header-logo {
      flex: 1 1 auto;
      flex-basis: auto;
      margin: 0;
   }

   .header-section .header-nav {
      flex: 0 0 auto;
      flex-basis: auto;
      width: auto;
   }

   .header-section .header-logo img {
      height: 34px;
   }

   .header-section .header-nav nav {
      border: 0;
   }

   .header-section .header-wrap li,
   .header-section .header-wrap a {
      white-space: normal;
   }

   .header-section .header-checkbox:checked ~ nav {
      width: 190px;
      padding: 18px;
      border: 1px solid var(--dsc-ink);
      border-radius: 0;
      background: var(--dsc-paper);
      box-shadow: 8px 8px 0 var(--dsc-yellow);
   }

   .post-template .post-header-content {
      max-width: 880px;
   }

   .post-template .post-title {
      max-width: 850px;
      font-size: clamp(50px, 7vw, 68px);
   }

   .post-template .post-excerpt {
      font-size: 22px;
   }

   .dsc-now__cards {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .dsc-now__card:nth-of-type(n + 3) {
      border-top: 1px solid var(--dsc-ink);
   }
}

@media (max-width: 680px) {
   :root {
      --dsc-section-gap: 48px;
      --dsc-copy-size: 15px;
   }

   .dsc-home .dsc-cat__card-title {
      font-size: 20px;
      line-height: 1.12;
   }

   .dsc-home .dsc-cat__title {
      font-size: clamp(36px, 10vw, 42px);
      line-height: 1.12;
   }

   .dsc-home .dsc-cat__author {
      font-size: 13px;
   }

   .dsc-home .dsc-cul__card-title {
      font-size: 18px;
      line-height: 1.22;
   }

   .post-template .post-header-wrap {
      padding-top: 24px;
      margin-bottom: 44px;
   }

   .post-template .dsc-post-kicker {
      gap: 8px;
      margin-bottom: 14px;
      font-size: 11px;
   }

   .post-template .dsc-post-kicker span {
      padding-left: 8px;
   }

   .post-template .post-title {
      font-size: clamp(38px, 11vw, 48px);
      line-height: 1.12;
   }

   .post-template .post-excerpt {
      margin-top: 18px;
      font-size: 20px;
      line-height: 1.38;
   }

   .post-template .dsc-post-topics {
      margin-top: 18px;
   }

   .post-template .post-meta-wrap {
      margin-top: 22px;
      padding-top: 14px;
   }

   .post-template .post-header-image {
      width: calc(100% + 2 * var(--margin-wrap-left-right));
      margin-top: 28px;
      margin-left: calc(0px - var(--margin-wrap-left-right));
   }

   .post-template .post-header-image figcaption {
      padding-inline: var(--margin-wrap-left-right);
   }

   .post-template .post-content h2 {
      padding-top: 14px;
      line-height: 1.17;
   }

   .post-template .post-content h2::before {
      width: 42px;
      height: 5px;
   }

   .post-template .post-content blockquote {
      margin-block: 38px;
      padding: 22px 20px 24px;
      font-size: 24px;
   }

   .post-template .post-content > .post-share {
      margin-top: 52px;
   }

   .post-template .dsc-post-author {
      grid-template-columns: 68px minmax(0, 1fr);
      gap: 16px;
   }

   .post-template .dsc-post-author__image {
      width: 68px;
      height: 68px;
   }

   .post-template .dsc-post-author__name {
      font-size: 24px;
   }

   .post-template .dsc-post-author__bio {
      font-size: 14px;
   }

   .post-template .special-section > .global-subtitle {
      margin-bottom: 20px;
      font-size: 42px;
      line-height: 1.08;
   }

   .post-template .special-wrap {
      display: flex;
      gap: 14px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
   }

   .post-template .special-wrap::-webkit-scrollbar {
      display: none;
   }

   .post-template .special-wrap .item {
      min-width: min(78vw, 310px);
      scroll-snap-align: start;
   }

   .post-template .special-wrap .item-title {
      font-size: 22px;
   }

   .dsc-now__layout {
      display: block;
      border-top-width: 3px;
   }

   .dsc-now__intro {
      display: block;
      min-height: 320px;
      padding: 22px 18px 26px;
   }

   .dsc-now__intro::after {
      right: -74px;
      bottom: -112px;
      width: 220px;
      height: 220px;
      border-width: 32px;
   }

   .dsc-now__heading {
      margin-top: 30px;
      font-size: clamp(43px, 13.5vw, 58px);
      line-height: 1;
   }

   .dsc-now__intro-meta {
      max-width: 290px;
      margin-top: 34px;
   }

   .dsc-now__season {
      margin-bottom: 14px;
      font-size: 16px;
      line-height: 1.25;
   }

   .dsc-now__month {
      padding-top: 10px;
   }

   .dsc-now__cue {
      right: 0;
      bottom: 0;
   }

   .dsc-now__cards {
      display: flex;
      gap: 0;
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
   }

   .dsc-now__cards::-webkit-scrollbar {
      display: none;
   }

   .dsc-now__card {
      min-width: min(82vw, 330px);
      border-top: 0 !important;
      scroll-snap-align: start;
   }

   .dsc-now__body {
      min-height: 250px;
   }

   .dsc-now__title {
      font-size: 25px;
      line-height: 1.18;
   }

   .dsc-long__link {
      display: flex;
      min-height: 0;
      flex-direction: column;
   }

   .dsc-long__media {
      aspect-ratio: 4 / 3;
   }

   .dsc-long__panel {
      min-height: 390px;
      padding: 24px 18px 26px;
      border-top: 1px solid rgba(255, 255, 255, .34);
      border-left: 0;
   }

   .dsc-long__story {
      margin-block: 34px;
   }

   .dsc-long__title {
      max-width: 14ch;
      font-size: clamp(38px, 11vw, 50px);
      line-height: 1.12;
   }
}

/* Plantilla seleccionable: Noticia de actualidad. */
.dsc-news-story {
   --dsc-news-accent: var(--dsc-red);
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-news-header {
   padding-top: clamp(36px, 5vw, 72px);
   padding-bottom: clamp(58px, 7vw, 96px);
}

.dsc-news-heading {
   box-sizing: border-box;
   width: 100%;
   max-width: 1240px;
   margin: 0 auto;
}

.dsc-news-kicker {
   display: flex;
   align-items: center;
   gap: 11px;
   margin-bottom: 20px;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-news-kicker span {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   padding: 7px 10px 6px;
   color: var(--dsc-paper);
   background: var(--dsc-news-accent);
}

.dsc-news-kicker span::before {
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: currentColor;
   content: "";
}

.dsc-news-kicker a {
   padding-left: 11px;
   border-left: 1px solid var(--dsc-ink);
   color: var(--dsc-ink);
}

.dsc-news-title {
   max-width: 1100px;
   margin: 0;
   font-family: var(--dsc-font-display);
   font-size: clamp(50px, 5.2vw, 74px);
   font-weight: 700;
   line-height: 1.03;
   letter-spacing: -.025em;
}

.dsc-news-summary {
   display: grid;
   margin-top: clamp(30px, 4vw, 52px);
   padding-top: 20px;
   border-top: 6px solid var(--dsc-news-accent);
   grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
   gap: clamp(42px, 7vw, 100px);
   align-items: start;
}

.dsc-news-excerpt {
   max-width: 760px;
   margin: 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(24px, 2.1vw, 31px);
   font-weight: 500;
   line-height: 1.36;
}

.dsc-news-byline {
   padding-top: 3px;
   font-family: var(--dsc-font-condensed);
}

.dsc-news-byline-main {
   display: flex;
   flex-direction: column;
   gap: 4px;
   font-size: 14px;
   line-height: 1.25;
}

.dsc-news-byline-main > span:last-child {
   color: var(--dsc-muted);
   font-size: 12px;
   letter-spacing: .05em;
   text-transform: uppercase;
}

.dsc-news-byline .post-share-wrap {
   display: flex;
   height: auto;
   align-items: center;
   gap: 8px;
   margin-top: 18px;
}

.dsc-news-byline .post-share-wrap a,
.dsc-news-byline .post-share-wrap svg {
   width: 27px;
   height: 27px;
}

.dsc-news-byline .post-share-wrap a {
   display: inline-flex;
   flex: 0 0 27px;
}

.dsc-news-reading {
   display: grid;
   box-sizing: border-box;
   width: 100%;
   max-width: 1120px;
   margin: 0 auto clamp(80px, 9vw, 130px);
   grid-template-columns: minmax(0, 740px) 280px;
   gap: clamp(52px, 7vw, 94px);
   align-items: start;
}

.post-template .dsc-news-content {
   width: 100%;
   max-width: 740px;
   margin: 0;
}

.post-template .dsc-news-body > p:first-of-type {
   font-size: 21px;
   line-height: 1.62;
}

.post-template .dsc-news-story .dsc-news-body h2 {
   margin-top: 1.7em;
   padding-top: 14px;
   font-size: clamp(32px, 3vw, 43px);
   line-height: 1.12;
}

.post-template .dsc-news-story .dsc-news-body h2::before {
   width: 44px;
   height: 5px;
   background: var(--dsc-news-accent);
}

.post-template .dsc-news-body blockquote {
   border-top-color: var(--dsc-news-accent);
   background: #f4f4f4;
}

.post-template .dsc-news-body .kg-callout-card {
   border: 0;
   border-left: 6px solid var(--dsc-news-accent);
   border-radius: 0;
   background: #f4f4f4;
}

.post-template .dsc-news-content > .post-share {
   margin-top: 76px;
}

.dsc-news-latest {
   position: sticky;
   top: 92px;
   padding-top: 13px;
   border-top: 4px solid var(--dsc-ink);
}

.dsc-news-latest-heading {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 5px;
}

.dsc-news-latest-heading > span {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: var(--dsc-news-accent);
}

.dsc-news-latest-heading h2 {
   margin: 0;
   font-family: var(--dsc-font-condensed);
   font-size: 14px;
   font-weight: 700;
   letter-spacing: .09em;
   line-height: 1;
   text-transform: uppercase;
}

.dsc-news-latest ol {
   margin: 0;
   padding: 0;
   list-style: none;
}

.dsc-news-latest li {
   padding: 14px 0 15px;
   border-top: 1px solid var(--dsc-rule);
}

.dsc-news-latest li time,
.dsc-news-latest li > span {
   display: block;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   letter-spacing: .055em;
   line-height: 1.2;
   text-transform: uppercase;
}

.dsc-news-latest li a {
   display: block;
   margin: 5px 0 7px;
   color: var(--dsc-ink);
   font-family: var(--dsc-font-headline);
   font-size: 18px;
   font-weight: 600;
   line-height: 1.16;
   text-decoration: none;
}

.dsc-news-latest li a:hover {
   color: var(--dsc-news-accent);
}

@media (max-width: 900px) {
   .dsc-news-summary {
      grid-template-columns: 1fr;
      gap: 28px;
   }

   .dsc-news-byline {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 20px;
   }

   .dsc-news-byline .post-share-wrap {
      margin-top: 0;
   }

   .dsc-news-reading {
      grid-template-columns: minmax(0, 740px);
      justify-content: center;
   }

   .dsc-news-latest {
      position: static;
      width: 100%;
      max-width: 740px;
      margin-top: 14px;
   }

   .dsc-news-latest ol {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0 24px;
   }
}

@media (max-width: 680px) {
   .dsc-news-header {
      padding-top: 25px;
      padding-bottom: 48px;
   }

   .dsc-news-kicker {
      gap: 8px;
      margin-bottom: 15px;
      font-size: 11px;
   }

   .dsc-news-kicker a {
      padding-left: 8px;
   }

   .dsc-news-title {
      font-size: clamp(38px, 10.8vw, 46px);
      line-height: 1.07;
   }

   .dsc-news-summary {
      margin-top: 26px;
      padding-top: 15px;
      border-top-width: 5px;
      gap: 24px;
   }

   .dsc-news-excerpt {
      font-size: 21px;
      line-height: 1.4;
   }

   .dsc-news-byline {
      display: block;
   }

   .dsc-news-byline .post-share-wrap {
      margin-top: 17px;
   }

   .dsc-news-reading {
      gap: 58px;
      margin-bottom: 80px;
   }

   .post-template .dsc-news-body > p:first-of-type {
      font-size: 19px;
   }

   .post-template .dsc-news-story .dsc-news-body h2 {
      font-size: 34px;
      line-height: 1.14;
   }

   .dsc-news-latest ol {
      grid-template-columns: 1fr;
   }

   .dsc-news-latest li a {
      font-size: 20px;
   }
}

/* Plantilla seleccionable: Artículo en forma de lista. */
.dsc-list-story {
   --dsc-list-accent: var(--dsc-post-accent, var(--dsc-orange));
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-list-header {
   padding: clamp(42px, 6vw, 86px) 0 clamp(54px, 7vw, 96px);
   border-bottom: 1px solid var(--dsc-ink);
   background: var(--dsc-cream);
}

.dsc-list-heading {
   display: grid;
   box-sizing: border-box;
   width: 100%;
   max-width: 1280px;
   margin: 0 auto;
   grid-template-columns: 230px minmax(0, 1fr);
   gap: clamp(42px, 6vw, 86px);
   align-items: stretch;
}

.dsc-list-counter {
   display: flex;
   min-height: 270px;
   flex-direction: column;
   justify-content: space-between;
   padding: 22px 20px 20px;
   color: var(--dsc-ink);
   background: var(--dsc-list-accent);
}

.dsc-list-counter strong {
   font-family: var(--dsc-font-display);
   font-size: clamp(96px, 10vw, 150px);
   font-weight: 700;
   line-height: .8;
   letter-spacing: -.05em;
}

.dsc-list-counter span {
   padding-top: 14px;
   border-top: 1px solid currentColor;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .09em;
   line-height: 1;
   text-transform: uppercase;
}

.dsc-list-editorial {
   display: flex;
   min-width: 0;
   flex-direction: column;
}

.dsc-list-kicker {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 18px;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-list-kicker a {
   padding: 7px 10px 6px;
   color: var(--dsc-ink);
   background: var(--dsc-list-accent);
}

.dsc-list-kicker span {
   padding-left: 10px;
   border-left: 1px solid var(--dsc-ink);
}

.dsc-list-title {
   max-width: 960px;
   margin: 0;
   font-family: var(--dsc-font-display);
   font-size: clamp(56px, 6.2vw, 88px);
   font-weight: 700;
   line-height: 1.02;
   letter-spacing: -.028em;
}

.dsc-list-summary {
   display: grid;
   margin-top: auto;
   padding-top: clamp(30px, 4vw, 52px);
   grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
   gap: clamp(38px, 6vw, 80px);
   align-items: start;
}

.dsc-list-summary.is-without-excerpt {
   grid-template-columns: minmax(250px, 340px);
   justify-content: end;
}

.dsc-list-excerpt {
   max-width: 680px;
   margin: 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(22px, 1.8vw, 28px);
   font-weight: 500;
   line-height: 1.38;
}

.dsc-list-meta {
   padding-top: 14px;
   border-top: 3px solid var(--dsc-ink);
}

.dsc-list-meta .global-meta {
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
}

.dsc-list-meta .post-share-wrap {
   display: flex;
   height: auto;
   align-items: center;
   gap: 8px;
   margin-top: 18px;
}

.dsc-list-meta .post-share-wrap a,
.dsc-list-meta .post-share-wrap svg {
   width: 27px;
   height: 27px;
}

.dsc-list-meta .post-share-wrap a {
   display: inline-flex;
   flex: 0 0 27px;
}

.dsc-list-reading {
   display: grid;
   box-sizing: border-box;
   width: 100%;
   max-width: 1120px;
   margin: clamp(64px, 8vw, 110px) auto clamp(86px, 10vw, 140px);
   grid-template-columns: 240px minmax(0, 760px);
   gap: clamp(52px, 7vw, 92px);
   align-items: start;
}

.dsc-list-story.is-without-index .dsc-list-reading {
   grid-template-columns: minmax(0, 760px);
   justify-content: center;
}

.dsc-list-index {
   position: static;
   padding-top: 12px;
   border-top: 4px solid var(--dsc-ink);
}

.dsc-list-index-toggle {
   display: flex;
   width: 100%;
   align-items: center;
   justify-content: space-between;
   padding: 0 0 11px;
   border: 0;
   color: var(--dsc-ink);
   background: transparent;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .1em;
   text-align: left;
   text-transform: uppercase;
   pointer-events: none;
}

.dsc-list-index-toggle > span:last-child {
   display: none;
}

.dsc-list-index ol {
   margin: 0;
   padding: 0;
   list-style: none;
}

.dsc-list-index li {
   border-top: 1px solid var(--dsc-rule);
}

.dsc-list-index a {
   display: grid;
   padding: 8px 0;
   color: var(--dsc-muted);
   grid-template-columns: 25px minmax(0, 1fr);
   gap: 7px;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 500;
   line-height: 1.2;
   text-decoration: none;
}

.dsc-list-index a > span:first-child {
   color: var(--dsc-ink);
   font-weight: 700;
}

.dsc-list-index a:hover,
.dsc-list-index a.is-active {
   color: var(--dsc-ink);
}

.dsc-list-index a.is-active {
   padding-left: 8px;
   border-left: 5px solid var(--dsc-list-accent);
   font-weight: 700;
}

.post-template .dsc-list-content {
   width: 100%;
   max-width: 760px;
   margin: 0;
}

.post-template .dsc-list-body > p:first-of-type {
   font-size: 22px;
   line-height: 1.62;
}

.post-template .dsc-list-story .dsc-list-body h2 {
   position: relative;
   min-height: 76px;
   margin-top: clamp(86px, 10vw, 132px);
   padding: 18px 0 0 102px;
   border-top: 1px solid var(--dsc-ink);
   font-size: clamp(38px, 4vw, 54px);
   line-height: 1.08;
   scroll-margin-top: 100px;
}

.post-template .dsc-list-story .dsc-list-body h2::before {
   position: absolute;
   top: 15px;
   left: 0;
   width: auto;
   height: auto;
   color: var(--dsc-list-accent);
   background: transparent;
   font-family: var(--dsc-font-display);
   font-size: 68px;
   font-weight: 700;
   line-height: .9;
   content: attr(data-dsc-list-number);
}

.post-template .dsc-list-body > .kg-image-card:not(.kg-width-full),
.post-template .dsc-list-body > .kg-gallery-card {
   position: relative;
   width: min(980px, calc(100vw - 2 * var(--dsc-page-gutter)));
   max-width: none;
   margin: 42px 0 52px 50%;
   transform: translateX(-50%);
}

.post-template .dsc-list-body > .kg-image-card.kg-width-full {
   position: relative;
   width: min(1400px, 100vw);
   max-width: none;
   margin: 48px 0 58px 50%;
   transform: translateX(-50%);
}

.post-template .dsc-list-body > .kg-image-card.kg-width-full img {
   position: static;
   width: 100%;
   max-width: 100%;
   margin: 0;
}

.post-template .dsc-list-body > .kg-image-card img {
   width: 100%;
}

.post-template .dsc-list-body > .kg-gallery-card {
   box-sizing: border-box;
   width: min(1040px, 100vw);
   padding: 8px;
   background: var(--dsc-ink);
}

.post-template .dsc-list-body > .kg-gallery-card .kg-gallery-container {
   width: 100%;
   margin-left: 0;
}

.post-template .dsc-list-body .kg-gallery-image img {
   border-radius: 0 !important;
}

.post-template .dsc-list-body figcaption {
   max-width: 760px;
   margin: 8px auto 0;
}

.post-template .dsc-list-body > .kg-gallery-card figcaption {
   border-color: rgba(255, 255, 255, .28);
   color: rgba(255, 255, 255, .82);
}

.post-template .dsc-list-content > .post-share {
   margin-top: 88px;
}

@media (max-width: 900px) {
   .dsc-list-heading {
      grid-template-columns: 170px minmax(0, 1fr);
      gap: 34px;
   }

   .dsc-list-counter {
      min-height: 220px;
   }

   .dsc-list-title {
      font-size: clamp(52px, 8vw, 72px);
   }

   .dsc-list-summary {
      grid-template-columns: 1fr;
      gap: 28px;
   }

   .dsc-list-summary.is-without-excerpt {
      grid-template-columns: minmax(250px, 340px);
   }

   .dsc-list-reading {
      grid-template-columns: minmax(0, 760px);
      justify-content: center;
      gap: 30px;
   }

   .dsc-list-index {
      position: static;
      width: 100%;
      max-width: 760px;
   }

   .dsc-list-index-toggle {
      cursor: pointer;
      pointer-events: auto;
   }

   .dsc-list-index-toggle > span:last-child {
      display: block;
      font-size: 22px;
      line-height: 1;
      transition: transform .2s ease;
   }

   .dsc-list-index-toggle[aria-expanded="false"] + nav {
      display: none;
   }

   .dsc-list-index-toggle[aria-expanded="true"] > span:last-child {
      transform: rotate(45deg);
   }
}

@media (max-width: 680px) {
   .dsc-list-header {
      padding-top: 24px;
      padding-bottom: 48px;
   }

   .dsc-list-heading {
      grid-template-columns: 1fr;
      gap: 25px;
   }

   .dsc-list-counter {
      min-height: 0;
      flex-direction: row;
      align-items: flex-end;
      padding: 13px 15px 12px;
   }

   .dsc-list-counter strong {
      font-size: 68px;
      line-height: .8;
   }

   .dsc-list-counter span {
      min-width: 145px;
      padding-top: 8px;
      text-align: right;
   }

   .dsc-list-kicker {
      margin-bottom: 14px;
      font-size: 11px;
   }

   .dsc-list-title {
      font-size: clamp(40px, 12vw, 51px);
      line-height: 1.07;
   }

   .dsc-list-summary {
      padding-top: 26px;
      gap: 24px;
   }

   .dsc-list-summary.is-without-excerpt {
      grid-template-columns: 1fr;
   }

   .dsc-list-excerpt {
      font-size: 21px;
      line-height: 1.4;
   }

   .dsc-list-reading {
      margin-top: 48px;
      gap: 26px;
   }

   .post-template .dsc-list-body > p:first-of-type {
      font-size: 20px;
   }

   .post-template .dsc-list-story .dsc-list-body h2 {
      min-height: 0;
      margin-top: 78px;
      padding: 48px 0 0;
      font-size: 38px;
      line-height: 1.12;
   }

   .post-template .dsc-list-story .dsc-list-body h2::before {
      top: 12px;
      font-size: 42px;
   }

   .post-template .dsc-list-body > .kg-image-card:not(.kg-width-full),
   .post-template .dsc-list-body > .kg-image-card.kg-width-full,
   .post-template .dsc-list-body > .kg-gallery-card {
      width: 100vw;
      margin-top: 32px;
      margin-bottom: 42px;
   }

   .post-template .dsc-list-body > .kg-gallery-card {
      padding: 5px;
   }

   .post-template .dsc-list-body figcaption {
      box-sizing: border-box;
      width: 100%;
      margin-right: 0;
      padding-inline: var(--dsc-page-gutter);
   }
}

/* La plantilla de hotel prevalece sobre los estilos generales del post. */
.post-template .post-content .dsc-hotel-body > h2 {
   margin-top: clamp(68px, 8vw, 108px);
   padding-top: 20px;
   border-top: 1px solid var(--dsc-ink);
   font-family: var(--dsc-font-headline);
   font-size: clamp(38px, 4vw, 55px);
   font-weight: 600;
   line-height: 1.08;
   letter-spacing: -.025em;
}

.post-template .post-content .dsc-hotel-body > h2::before {
   top: -4px;
   width: 72px;
   height: 7px;
   background: var(--dsc-hotel-accent);
}

.post-template .post-content .dsc-hotel-body > h3 {
   margin-top: 48px;
   font-family: var(--dsc-font-headline);
   font-size: clamp(28px, 3vw, 36px);
   font-weight: 600;
}

.post-template .post-content .dsc-hotel-body > blockquote {
   margin: 68px 0;
   padding: 28px 34px 32px;
   border: 0;
   border-top: 5px solid var(--dsc-hotel-accent);
   border-bottom: 1px solid var(--dsc-hotel-accent);
   color: var(--dsc-hotel-accent);
   background: var(--dsc-cream);
   font-family: var(--dsc-font-editorial);
   font-size: clamp(28px, 3vw, 40px);
   font-weight: 400;
   line-height: 1.24;
}

.post-template .dsc-hotel-body a {
   text-decoration-color: var(--dsc-hotel-accent);
}

@media (max-width: 680px) {
   .post-template .post-content .dsc-hotel-body > h2 {
      margin-top: 72px;
      font-size: 37px;
   }
}

/* Plantilla seleccionable: Crítica de hotel 2, variante discreta. */
.dsc-hotel2-review {
   --dsc-hotel2-accent: var(--dsc-burgundy);
   overflow: hidden;
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-hotel2-header {
   box-sizing: border-box;
   max-width: 1180px;
   margin: 0 auto;
   padding-top: clamp(42px, 6vw, 82px);
}

.dsc-hotel2-heading {
   max-width: 980px;
}

.dsc-hotel2-kicker {
   display: flex;
   align-items: center;
   gap: 11px;
   margin-bottom: 20px;
   color: var(--dsc-hotel2-accent);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .13em;
   text-transform: uppercase;
}

.dsc-hotel2-kicker span {
   padding-right: 11px;
   border-right: 1px solid var(--dsc-rule);
}

.dsc-hotel2-kicker a {
   color: var(--dsc-ink);
}

.dsc-hotel2-title {
   max-width: 920px;
   margin: 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(43px, 4.7vw, 66px);
   font-weight: 600;
   line-height: 1.06;
   letter-spacing: -.03em;
}

.dsc-hotel2-excerpt {
   max-width: 800px;
   margin: 26px 0 0;
   color: #484848;
   font-family: var(--dsc-font-headline);
   font-size: clamp(21px, 1.8vw, 26px);
   font-weight: 400;
   line-height: 1.42;
}

.dsc-hotel2-meta {
   display: flex;
   max-width: 920px;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   margin-top: 30px;
   padding-top: 16px;
   border-top: 1px solid var(--dsc-ink);
}

.dsc-hotel2-meta .global-meta {
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
}

.dsc-hotel2-meta .post-share-wrap {
   display: flex;
   height: auto;
   align-items: center;
   gap: 8px;
}

.dsc-hotel2-meta .post-share-wrap a,
.dsc-hotel2-meta .post-share-wrap svg {
   width: 24px;
   height: 24px;
   opacity: 1;
}

.dsc-hotel2-meta .post-share-wrap a {
   display: inline-flex;
   flex: 0 0 24px;
}

.dsc-hotel2-cover {
   margin: clamp(40px, 5vw, 62px) 0 0;
}

.dsc-hotel2-cover-image {
   overflow: hidden;
   aspect-ratio: 3 / 2;
   background: var(--dsc-cream);
}

.dsc-hotel2-cover-image picture,
.dsc-hotel2-cover-image img {
   display: block;
   width: 100%;
   height: 100%;
}

.dsc-hotel2-cover-image img {
   object-fit: cover;
}

.dsc-hotel2-cover figcaption {
   max-width: 720px;
   margin: 10px auto 0;
   color: var(--dsc-muted);
   font-family: var(--dsc-font-label);
   font-size: 12px;
   letter-spacing: .035em;
   text-align: center;
}

.post-template .dsc-hotel2-content {
   box-sizing: border-box;
   max-width: 800px;
   margin: clamp(58px, 7vw, 96px) auto 0;
}

.post-template .dsc-hotel2-body {
   font-size: clamp(18px, 1.35vw, 20px);
}

.post-template .dsc-hotel2-body > p:first-of-type {
   font-family: var(--dsc-font-copy);
   font-size: clamp(20px, 1.7vw, 23px);
   font-weight: 500;
   line-height: 1.58;
}

.post-template .post-content .dsc-hotel2-body > h2 {
   margin-top: clamp(64px, 8vw, 96px);
   padding-top: 17px;
   border-top: 1px solid var(--dsc-rule);
   font-family: var(--dsc-font-headline);
   font-size: clamp(34px, 3.6vw, 46px);
   font-weight: 600;
   line-height: 1.12;
   letter-spacing: -.02em;
}

.post-template .post-content .dsc-hotel2-body > h2::before {
   display: none;
}

.post-template .post-content .dsc-hotel2-body > h3 {
   margin-top: 42px;
   font-family: var(--dsc-font-headline);
   font-size: clamp(27px, 2.7vw, 34px);
   font-weight: 600;
}

.post-template .post-content .dsc-hotel2-body > blockquote {
   margin: 58px 0;
   padding: 4px 0 4px 28px;
   border: 0;
   border-left: 2px solid var(--dsc-hotel2-accent);
   color: #343434;
   background: transparent;
   font-family: var(--dsc-font-editorial);
   font-size: clamp(27px, 2.8vw, 36px);
   font-weight: 400;
   line-height: 1.3;
}

.post-template .dsc-hotel2-body a {
   text-decoration-color: var(--dsc-hotel2-accent);
}

.post-template .dsc-hotel2-body > .kg-image-card:not(.kg-width-full),
.post-template .dsc-hotel2-body > .kg-gallery-card {
   position: relative;
   width: min(980px, calc(100vw - 2 * var(--dsc-page-gutter)));
   max-width: none;
   margin: 44px 0 54px 50%;
   transform: translateX(-50%);
}

.post-template .dsc-hotel2-body > .kg-image-card.kg-width-full {
   position: relative;
   width: min(1180px, 100vw);
   max-width: none;
   margin: 50px 0 60px 50%;
   transform: translateX(-50%);
}

.post-template .dsc-hotel2-body > .kg-image-card img,
.post-template .dsc-hotel2-body > .kg-image-card.kg-width-full img {
   position: static;
   width: 100%;
   max-width: 100%;
   margin: 0;
}

.post-template .dsc-hotel2-body > .kg-gallery-card {
   box-sizing: border-box;
   width: min(1040px, calc(100vw - 2 * var(--dsc-page-gutter)));
   padding: 0;
   background: transparent;
}

.post-template .dsc-hotel2-body > .kg-gallery-card .kg-gallery-container {
   width: 100%;
   margin-left: 0;
}

.post-template .dsc-hotel2-body .kg-gallery-image img {
   border-radius: 0 !important;
}

.post-template .dsc-hotel2-body figcaption {
   box-sizing: border-box;
   max-width: 720px;
   margin: 10px auto 0;
   color: var(--dsc-muted);
   text-align: center;
}

.post-template .dsc-hotel2-verdict,
.post-template .dsc-hotel2-practical {
   box-sizing: border-box;
   width: min(840px, calc(100vw - 2 * var(--dsc-page-gutter)));
   max-width: none;
   margin: clamp(72px, 9vw, 106px) 0 0 50%;
   transform: translateX(-50%);
}

.post-template .dsc-hotel2-verdict {
   padding: 30px 0;
   border-top: 1px solid var(--dsc-ink);
   border-bottom: 1px solid var(--dsc-ink);
}

.post-template .dsc-hotel2-verdict h2,
.post-template .dsc-hotel2-practical h2 {
   margin: 0 0 25px;
   padding: 0;
   border: 0;
   color: var(--dsc-hotel2-accent);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .14em;
   line-height: 1.1;
   text-transform: uppercase;
}

.post-template .dsc-hotel2-verdict h2::before,
.post-template .dsc-hotel2-practical h2::before {
   display: none;
}

.post-template .dsc-hotel2-verdict ul {
   display: grid;
   margin: 0;
   padding: 0;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   list-style: none;
}

.post-template .dsc-hotel2-verdict li {
   margin: 0;
   padding: 4px 24px 4px 0;
   border-right: 1px solid var(--dsc-rule);
   font-family: var(--dsc-font-headline);
   font-size: 20px;
   line-height: 1.4;
}

.post-template .dsc-hotel2-verdict li + li {
   padding-left: 24px;
}

.post-template .dsc-hotel2-verdict li:last-child {
   padding-right: 0;
   border-right: 0;
}

.post-template .dsc-hotel2-verdict strong,
.post-template .dsc-hotel2-practical strong {
   display: block;
   margin-bottom: 7px;
   color: var(--dsc-hotel2-accent);
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.post-template .dsc-hotel2-practical {
   padding: clamp(28px, 4vw, 42px);
   border-top: 1px solid var(--dsc-rule);
   border-bottom: 1px solid var(--dsc-rule);
   background: #faf9f6;
}

.post-template .dsc-hotel2-practical ul {
   display: grid;
   margin: 0;
   padding: 0;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   column-gap: 42px;
   list-style: none;
}

.post-template .dsc-hotel2-practical li {
   display: grid;
   margin: 0;
   padding: 13px 0;
   grid-template-columns: 112px minmax(0, 1fr);
   gap: 15px;
   border-bottom: 1px solid #ddd9d2;
   font-size: 16px;
   line-height: 1.4;
}

.post-template .dsc-hotel2-practical strong {
   margin: 0;
}

.post-template .dsc-hotel2-content > .post-share {
   margin-top: 78px;
}

@media (max-width: 760px) {
   .dsc-hotel2-meta {
      align-items: flex-start;
      flex-direction: column;
   }

   .post-template .dsc-hotel2-verdict ul,
   .post-template .dsc-hotel2-practical ul {
      grid-template-columns: 1fr;
   }

   .post-template .dsc-hotel2-verdict li,
   .post-template .dsc-hotel2-verdict li + li {
      padding: 19px 0;
      border-right: 0;
      border-bottom: 1px solid var(--dsc-rule);
   }

   .post-template .dsc-hotel2-verdict li:last-child {
      border-bottom: 0;
   }
}

@media (max-width: 680px) {
   .dsc-hotel2-header {
      padding-top: 30px;
   }

   .dsc-hotel2-title {
      font-size: clamp(39px, 10.8vw, 46px);
   }

   .dsc-hotel2-excerpt {
      margin-top: 21px;
      font-size: 20px;
   }

   .dsc-hotel2-meta {
      margin-top: 24px;
   }

   .dsc-hotel2-cover {
      margin-right: calc(-1 * var(--dsc-page-gutter));
      margin-left: calc(-1 * var(--dsc-page-gutter));
   }

   .dsc-hotel2-cover-image {
      aspect-ratio: 4 / 3;
   }

   .dsc-hotel2-cover figcaption {
      padding-inline: var(--dsc-page-gutter);
   }

   .post-template .dsc-hotel2-content {
      margin-top: 48px;
   }

   .post-template .post-content .dsc-hotel2-body > h2 {
      margin-top: 68px;
      font-size: 34px;
   }

   .post-template .dsc-hotel2-body > .kg-image-card:not(.kg-width-full),
   .post-template .dsc-hotel2-body > .kg-image-card.kg-width-full,
   .post-template .dsc-hotel2-body > .kg-gallery-card {
      width: 100vw;
      margin-top: 34px;
      margin-bottom: 44px;
   }

   .post-template .dsc-hotel2-body figcaption {
      width: 100%;
      padding-inline: var(--dsc-page-gutter);
   }

   .post-template .dsc-hotel2-verdict,
   .post-template .dsc-hotel2-practical {
      width: 100vw;
      margin-top: 68px;
   }

   .post-template .dsc-hotel2-verdict {
      padding: 27px var(--dsc-page-gutter);
   }

   .post-template .dsc-hotel2-practical {
      padding: 29px var(--dsc-page-gutter);
   }

   .post-template .dsc-hotel2-practical li {
      grid-template-columns: 100px minmax(0, 1fr);
      gap: 14px;
   }
}

/* Plantilla seleccionable: Newsletter / Descubrimientos. */
.dsc-newsletter {
   --dsc-newsletter-accent: var(--dsc-red);
   overflow: hidden;
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-newsletter-header {
   padding-top: clamp(42px, 6vw, 86px);
   padding-bottom: clamp(48px, 6vw, 82px);
   border-bottom: 1px solid var(--dsc-ink);
   background:
      linear-gradient(90deg, var(--dsc-newsletter-accent) 0 12px, transparent 12px),
      var(--dsc-cream);
}

.dsc-newsletter-heading {
   box-sizing: border-box;
   max-width: 1080px;
   margin: 0 auto;
}

.dsc-newsletter-issue {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   padding-bottom: 18px;
   border-bottom: 1px solid var(--dsc-ink);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .12em;
   line-height: 1.2;
   text-transform: uppercase;
}

.dsc-newsletter-issue span {
   padding: 8px 11px 7px;
   color: var(--dsc-paper);
   background: var(--dsc-newsletter-accent);
}

.dsc-newsletter-title {
   max-width: 980px;
   margin: clamp(28px, 4vw, 48px) 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(44px, 5.1vw, 70px);
   font-weight: 600;
   line-height: 1.08;
   letter-spacing: -.035em;
}

.dsc-newsletter-excerpt {
   max-width: 780px;
   margin: 26px 0 0;
   color: #373333;
   font-family: var(--dsc-font-headline);
   font-size: clamp(21px, 2vw, 28px);
   font-weight: 500;
   line-height: 1.42;
}

.dsc-newsletter-meta {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   margin-top: clamp(30px, 4vw, 46px);
   padding-top: 15px;
   border-top: 1px solid var(--dsc-rule);
   color: var(--dsc-muted);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.post-template .dsc-newsletter-content {
   box-sizing: border-box;
   width: 100%;
   max-width: 1280px;
   margin: clamp(54px, 7vw, 100px) auto 0;
}

.post-template .dsc-newsletter-body {
   width: 100%;
   max-width: none;
   font-family: var(--dsc-font-copy);
   font-size: clamp(17px, 1.2vw, 19px);
   line-height: 1.62;
}

.post-template .dsc-newsletter-body.is-enhanced {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: clamp(52px, 6vw, 88px) clamp(28px, 3.6vw, 54px);
}

.dsc-newsletter-introduction,
.dsc-newsletter-item.is-lead {
   grid-column: 1 / -1;
}

.dsc-newsletter-introduction {
   box-sizing: border-box;
   max-width: 780px;
   margin: 0 auto;
   padding-bottom: clamp(2px, 1vw, 12px);
   font-family: var(--dsc-font-headline);
   font-size: clamp(20px, 1.8vw, 25px);
   font-weight: 500;
   line-height: 1.5;
}

.dsc-newsletter-introduction > :first-child {
   margin-top: 0;
}

.dsc-newsletter-introduction > :last-child {
   margin-bottom: 0;
}

.dsc-newsletter-item {
   min-width: 0;
}

.post-template .dsc-newsletter-content .dsc-newsletter-item > .kg-header-card.kg-v2.kg-width-full {
   position: relative;
   right: auto;
   left: auto;
   overflow: hidden;
   width: 100%;
   max-width: none;
   margin: 0;
   margin-left: 0;
   padding: 0;
   border-radius: 0;
}

.post-template .dsc-newsletter-item.is-lead > .kg-header-card.kg-layout-split {
   display: grid;
   min-height: clamp(430px, 45vw, 610px);
   grid-template-columns: repeat(2, minmax(0, 1fr));
}

.post-template .dsc-newsletter-item.is-lead > .kg-header-card.kg-swapped .kg-header-card-content {
   order: 2;
}

.post-template .dsc-newsletter-item.is-lead > .kg-header-card.kg-swapped .kg-header-card-image {
   order: 1;
}

.post-template .dsc-newsletter-item.is-secondary > .kg-header-card.kg-layout-split {
   display: flex;
   min-height: 0;
   flex-direction: column;
}

.post-template .dsc-newsletter-item.is-secondary > .kg-header-card .kg-header-card-image {
   display: block;
   width: 100%;
   height: auto;
   aspect-ratio: 16 / 10;
   order: 1;
   object-fit: cover;
}

.post-template .dsc-newsletter-item.is-secondary > .kg-header-card .kg-header-card-content {
   width: 100%;
   min-height: 220px;
   order: 2;
}

.post-template .dsc-newsletter-item > .kg-header-card .kg-header-card-text {
   box-sizing: border-box;
}

.post-template .dsc-newsletter-item.is-lead > .kg-header-card .kg-header-card-text {
   padding: clamp(38px, 5vw, 76px) !important;
}

.post-template .dsc-newsletter-item.is-secondary > .kg-header-card .kg-header-card-text {
   padding: clamp(26px, 3.2vw, 42px) !important;
}

.post-template .dsc-newsletter-item > .kg-header-card .kg-header-card-heading {
   font-family: var(--dsc-font-headline) !important;
   font-weight: 600 !important;
   line-height: 1.08 !important;
   letter-spacing: -.025em !important;
}

.post-template .dsc-newsletter-item.is-lead > .kg-header-card .kg-header-card-heading {
   font-size: clamp(39px, 4.2vw, 60px) !important;
}

.post-template .dsc-newsletter-item.is-secondary > .kg-header-card .kg-header-card-heading {
   font-size: clamp(29px, 3vw, 40px) !important;
}

.post-template .dsc-newsletter-item > .kg-header-card .kg-header-card-subheading {
   margin-top: 16px !important;
   font-family: var(--dsc-font-copy) !important;
   font-size: clamp(16px, 1.4vw, 19px) !important;
   font-weight: 500 !important;
   line-height: 1.45 !important;
}

.dsc-newsletter-number {
   display: inline-flex;
   width: 38px;
   height: 38px;
   align-items: center;
   justify-content: center;
   margin-bottom: 22px;
   border: 1px solid currentColor;
   border-radius: 50%;
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .08em;
}

.post-template .dsc-newsletter-item > p {
   max-width: 680px;
   margin: 24px 0 0;
   font-size: clamp(17px, 1.25vw, 19px);
   line-height: 1.62;
}

.post-template .dsc-newsletter-item.is-lead > p {
   margin-right: auto;
   margin-left: auto;
}

.post-template .dsc-newsletter-item.is-secondary > p {
   display: -webkit-box;
   overflow: hidden;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 5;
}

.post-template .dsc-newsletter-item.is-brief > .kg-header-card .kg-header-card-image {
   aspect-ratio: 2 / 1;
}

.post-template .dsc-newsletter-item.is-brief > p {
   -webkit-line-clamp: 3;
}

.post-template .dsc-newsletter-item > .kg-bookmark-card,
.post-template .dsc-newsletter-item > .kg-button-card {
   width: 100%;
   margin: 24px 0 0;
}

.post-template .dsc-newsletter-item .kg-bookmark-container,
.post-template .dsc-newsletter-item .kg-bookmark-container:hover {
   display: flex;
   overflow: hidden;
   min-height: 84px;
   border: 1px solid var(--dsc-ink);
   border-radius: 0;
   box-shadow: none;
   transition: color .2s ease, background-color .2s ease;
}

.post-template .dsc-newsletter-item .kg-bookmark-container:hover {
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.post-template .dsc-newsletter-item .kg-bookmark-content {
   flex: 1 1 auto;
   min-width: 0;
   padding: 17px 20px;
}

.post-template .dsc-newsletter-item .kg-bookmark-title {
   font-family: var(--dsc-font-condensed);
   font-size: 15px;
   font-weight: 600;
   line-height: 1.25;
}

.post-template .dsc-newsletter-item .kg-bookmark-description,
.post-template .dsc-newsletter-item .kg-bookmark-metadata {
   display: none;
}

.post-template .dsc-newsletter-item .kg-bookmark-thumbnail {
   position: relative;
   overflow: hidden;
   min-width: 0;
   flex: 0 0 96px;
   margin: 0;
}

.post-template .dsc-newsletter-item .kg-bookmark-thumbnail img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   border-radius: 0;
   object-fit: cover;
}

.post-template .dsc-newsletter-item .kg-button-card .kg-btn {
   border: 1px solid var(--dsc-ink);
   border-radius: 0;
   color: var(--dsc-paper) !important;
   background: var(--dsc-ink);
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.post-template .dsc-newsletter-item .kg-button-card .kg-btn:hover {
   color: var(--dsc-ink) !important;
   background: var(--dsc-yellow);
}

.dsc-newsletter-closing {
   box-sizing: border-box;
   max-width: 960px;
   margin: clamp(84px, 10vw, 140px) auto 0;
   padding: clamp(34px, 5vw, 62px);
   border-top: 10px solid var(--dsc-newsletter-accent);
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
}

.dsc-newsletter-closing-label,
.dsc-newsletter-more-heading p {
   margin: 0 0 18px;
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .12em;
   text-transform: uppercase;
}

.dsc-newsletter-closing h2 {
   max-width: 760px;
   margin: 0;
   padding: 0;
   border: 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(34px, 4vw, 54px);
   font-weight: 600;
   line-height: 1.08;
   letter-spacing: -.025em;
}

.dsc-newsletter-closing h2::before {
   display: none;
}

.dsc-newsletter-closing > p:not(.dsc-newsletter-closing-label) {
   max-width: 650px;
   margin: 24px 0 0;
   font-size: 18px;
   line-height: 1.5;
}

.dsc-newsletter-closing-actions {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   margin-top: 36px;
   padding-top: 22px;
   border-top: 1px solid var(--dsc-ink);
}

.dsc-newsletter-archive {
   display: inline-flex;
   align-items: center;
   min-height: 46px;
   padding: 0 20px;
   color: var(--dsc-paper);
   background: var(--dsc-ink);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.dsc-newsletter-archive:hover {
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-newsletter-closing .post-share-wrap {
   display: flex;
   height: auto;
   align-items: center;
   gap: 8px;
   margin: 0;
}

.dsc-newsletter-closing .post-share-wrap a,
.dsc-newsletter-closing .post-share-wrap svg {
   width: 28px;
   height: 28px;
}

.dsc-newsletter-more {
   box-sizing: border-box;
   max-width: 1280px;
   margin: clamp(90px, 11vw, 160px) auto 0;
   padding-top: clamp(42px, 5vw, 68px);
   padding-bottom: clamp(70px, 8vw, 110px);
   border-top: 1px solid var(--dsc-ink);
}

.dsc-newsletter-more-heading {
   display: flex;
   align-items: end;
   justify-content: space-between;
   gap: 30px;
   margin-bottom: 34px;
}

.dsc-newsletter-more-heading p {
   margin: 0 0 7px;
   color: var(--dsc-newsletter-accent);
}

.dsc-newsletter-more-heading h2 {
   margin: 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(38px, 4vw, 56px);
   font-weight: 600;
   line-height: 1;
   letter-spacing: -.025em;
}

.dsc-newsletter-more-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: clamp(20px, 2.5vw, 36px);
}

.dsc-newsletter-edition {
   position: relative;
   min-width: 0;
   border-top: 5px solid var(--dsc-newsletter-accent);
   background: var(--dsc-cream);
}

.dsc-newsletter-edition-link {
   position: absolute;
   z-index: 2;
   inset: 0;
}

.dsc-newsletter-edition-image {
   overflow: hidden;
   aspect-ratio: 16 / 10;
   background: var(--dsc-burgundy);
}

.dsc-newsletter-edition-image picture,
.dsc-newsletter-edition-image img {
   display: block;
   width: 100%;
   height: 100%;
}

.dsc-newsletter-edition-image img {
   object-fit: cover;
   transition: transform .35s ease;
}

.dsc-newsletter-edition:hover .dsc-newsletter-edition-image img {
   transform: scale(1.025);
}

.dsc-newsletter-edition-content {
   padding: 22px 22px 25px;
}

.dsc-newsletter-edition-content time,
.dsc-newsletter-edition-content > span {
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.dsc-newsletter-edition-content time {
   color: var(--dsc-newsletter-accent);
}

.dsc-newsletter-edition-content h3 {
   margin: 16px 0 24px;
   font-family: var(--dsc-font-headline);
   font-size: clamp(25px, 2.4vw, 33px);
   font-weight: 600;
   line-height: 1.12;
   letter-spacing: -.02em;
}

.dsc-newsletter-edition-content > span {
   display: inline-block;
   padding-bottom: 3px;
   border-bottom: 1px solid var(--dsc-ink);
}

@media (max-width: 800px) {
   .post-template .dsc-newsletter-body.is-enhanced {
      grid-template-columns: 1fr;
   }

   .dsc-newsletter-introduction,
   .dsc-newsletter-item.is-lead {
      grid-column: auto;
   }

   .post-template .dsc-newsletter-item.is-lead > .kg-header-card.kg-layout-split {
      display: flex;
      min-height: 0;
      flex-direction: column;
   }

   .post-template .dsc-newsletter-item.is-lead > .kg-header-card .kg-header-card-image,
   .post-template .dsc-newsletter-item.is-lead > .kg-header-card.kg-swapped .kg-header-card-image {
      width: 100%;
      aspect-ratio: 16 / 10;
      order: 1;
      object-fit: cover;
   }

   .post-template .dsc-newsletter-item.is-lead > .kg-header-card .kg-header-card-content,
   .post-template .dsc-newsletter-item.is-lead > .kg-header-card.kg-swapped .kg-header-card-content {
      width: 100%;
      order: 2;
   }

   .dsc-newsletter-more-grid {
      grid-template-columns: 1fr;
   }

   .dsc-newsletter-edition {
      display: grid;
      grid-template-columns: minmax(130px, .8fr) minmax(0, 1.2fr);
   }

   .dsc-newsletter-edition-image {
      height: 100%;
      aspect-ratio: auto;
   }
}

@media (max-width: 560px) {
   .dsc-newsletter-header {
      padding-top: 28px;
      padding-bottom: 42px;
      background:
         linear-gradient(90deg, var(--dsc-newsletter-accent) 0 7px, transparent 7px),
         var(--dsc-cream);
   }

   .dsc-newsletter-issue {
      align-items: flex-start;
      flex-direction: column;
      gap: 14px;
   }

   .dsc-newsletter-title {
      margin-top: 27px;
      font-size: clamp(36px, 10.5vw, 44px);
      line-height: 1.1;
   }

   .dsc-newsletter-excerpt {
      margin-top: 20px;
      font-size: 20px;
   }

   .dsc-newsletter-meta {
      align-items: flex-start;
      flex-direction: column;
      gap: 8px;
      margin-top: 26px;
   }

   .post-template .dsc-newsletter-content {
      margin-top: 42px;
   }

   .post-template .dsc-newsletter-body.is-enhanced {
      gap: 54px;
   }

   .dsc-newsletter-introduction {
      font-size: 20px;
   }

   .post-template .dsc-newsletter-item.is-lead > .kg-header-card .kg-header-card-text,
   .post-template .dsc-newsletter-item.is-secondary > .kg-header-card .kg-header-card-text {
      padding: 28px 24px 31px !important;
   }

   .post-template .dsc-newsletter-item.is-lead > .kg-header-card .kg-header-card-heading,
   .post-template .dsc-newsletter-item.is-secondary > .kg-header-card .kg-header-card-heading {
      font-size: clamp(29px, 9vw, 36px) !important;
   }

   .post-template .dsc-newsletter-item > p {
      margin-top: 20px;
      font-size: 17px;
   }

   .post-template .dsc-newsletter-item .kg-bookmark-thumbnail {
      display: none;
   }

   .dsc-newsletter-closing {
      width: 100vw;
      margin-left: calc(-1 * var(--dsc-page-gutter));
      padding: 31px var(--dsc-page-gutter) 36px;
   }

   .dsc-newsletter-closing-actions {
      align-items: flex-start;
      flex-direction: column;
   }

   .dsc-newsletter-more-heading {
      align-items: flex-start;
      flex-direction: column;
      gap: 8px;
   }

   .dsc-newsletter-edition {
      display: block;
   }

   .dsc-newsletter-edition-image {
      aspect-ratio: 16 / 10;
   }
}

/* Archivos editoriales: categorías, etiquetas y autores. */
.dsc-archive-hero {
   --dsc-archive-accent: var(--dsc-red);
   padding-top: clamp(42px, 6vw, 88px);
   padding-bottom: clamp(48px, 7vw, 96px);
   border-bottom: 1px solid var(--dsc-ink);
   color: var(--dsc-ink);
   background:
      linear-gradient(90deg, var(--dsc-archive-accent) 0 12px, transparent 12px),
      var(--dsc-cream);
}

.tag-espana .dsc-archive-hero {
   --dsc-archive-accent: var(--dsc-red);
}

.tag-gastronomia-2 .dsc-archive-hero {
   --dsc-archive-accent: var(--dsc-burgundy);
}

.tag-turismo-sostenible .dsc-archive-hero {
   --dsc-archive-accent: var(--dsc-acid-green);
}

.tag-actualidad .dsc-archive-hero {
   --dsc-archive-accent: var(--dsc-blue);
}

.tag-hoteles .dsc-archive-hero {
   --dsc-archive-accent: var(--dsc-orange);
}

.tag-cultura .dsc-archive-hero {
   --dsc-archive-accent: var(--dsc-magenta);
}

.tag-template:not(.tag-espana):not(.tag-gastronomia-2):not(.tag-turismo-sostenible):not(.tag-actualidad):not(.tag-hoteles):not(.tag-cultura):not(.tag-newsletter) .dsc-archive-hero {
   --dsc-archive-accent: var(--dsc-coral);
}

.dsc-archive-hero-inner {
   box-sizing: border-box;
   max-width: 1180px;
   margin: 0 auto;
}

.dsc-archive-eyebrow {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   padding-bottom: 17px;
   border-bottom: 1px solid currentColor;
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .11em;
   line-height: 1.1;
   text-transform: uppercase;
}

.dsc-archive-eyebrow span:first-child {
   display: inline-flex;
   padding: 8px 11px 7px;
   color: var(--dsc-paper);
   background: var(--dsc-archive-accent);
}

.tag-turismo-sostenible .dsc-archive-eyebrow span:first-child {
   color: var(--dsc-ink);
}

.dsc-archive-hero h1 {
   max-width: 1080px;
   margin: clamp(27px, 4vw, 48px) 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(56px, 8vw, 108px);
   font-weight: 600;
   line-height: .95;
   letter-spacing: -.045em;
   text-wrap: balance;
}

.dsc-archive-hero p {
   max-width: 760px;
   margin: clamp(24px, 3vw, 38px) 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(21px, 2.1vw, 29px);
   font-weight: 500;
   line-height: 1.42;
}

.dsc-archive-section {
   box-sizing: border-box;
   max-width: 1320px;
   margin: clamp(58px, 8vw, 112px) auto 0;
}

.dsc-archive-lead {
   position: relative;
   display: grid;
   overflow: hidden;
   min-height: 520px;
   margin-bottom: clamp(54px, 7vw, 96px);
   grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.dsc-archive-lead-link,
.dsc-archive-card-link {
   position: absolute;
   z-index: 3;
   inset: 0;
}

.dsc-archive-lead-image,
.dsc-archive-card-image {
   overflow: hidden;
   margin: 0;
   background: var(--dsc-burgundy);
}

.dsc-archive-lead-image picture,
.dsc-archive-lead-image img,
.dsc-archive-card-image picture,
.dsc-archive-card-image img {
   display: block;
   width: 100%;
   height: 100%;
}

.dsc-archive-lead-image img,
.dsc-archive-card-image img {
   object-fit: cover;
   transition: transform .4s ease;
}

.dsc-archive-lead:hover .dsc-archive-lead-image img,
.dsc-archive-card:hover .dsc-archive-card-image img {
   transform: scale(1.025);
}

.dsc-archive-lead-placeholder,
.dsc-archive-card-placeholder {
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
}

.dsc-archive-lead-placeholder span {
   transform: rotate(-7deg);
   font-family: var(--dsc-font-display);
   font-size: clamp(54px, 8vw, 108px);
   text-transform: uppercase;
}

.dsc-archive-lead-content {
   display: flex;
   min-width: 0;
   flex-direction: column;
   justify-content: center;
   padding: clamp(38px, 5vw, 72px);
}

.dsc-archive-card-kicker {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .1em;
   line-height: 1.2;
   text-transform: uppercase;
}

.dsc-archive-card-kicker span {
   color: var(--dsc-archive-accent, var(--dsc-coral));
}

.dsc-archive-lead .dsc-archive-card-kicker span {
   color: var(--dsc-yellow);
}

.dsc-archive-card-kicker time {
   opacity: .72;
}

.dsc-archive-lead h2 {
   margin: clamp(26px, 4vw, 48px) 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(40px, 3.9vw, 56px);
   font-weight: 600;
   line-height: 1.1;
   letter-spacing: -.035em;
   text-wrap: balance;
}

.dsc-archive-lead-content > p {
   display: -webkit-box;
   overflow: hidden;
   margin: 24px 0 0;
   color: #dedede;
   font-size: clamp(17px, 1.4vw, 20px);
   line-height: 1.5;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 4;
}

.dsc-archive-lead-meta {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   margin-top: auto;
   padding-top: 34px;
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .09em;
   text-transform: uppercase;
}

.dsc-archive-lead-meta span:last-child {
   padding-bottom: 3px;
   border-bottom: 1px solid currentColor;
}

.dsc-archive-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: clamp(48px, 5vw, 76px) clamp(24px, 2.8vw, 40px);
}

.dsc-archive-card {
   --dsc-archive-accent: var(--dsc-coral);
   position: relative;
   min-width: 0;
   padding-top: 7px;
   border-top: 1px solid var(--dsc-ink);
}

.tag-espana .dsc-archive-card {
   --dsc-archive-accent: var(--dsc-red);
}

.tag-gastronomia-2 .dsc-archive-card {
   --dsc-archive-accent: var(--dsc-burgundy);
}

.tag-turismo-sostenible .dsc-archive-card {
   --dsc-archive-accent: #169900;
}

.tag-actualidad .dsc-archive-card {
   --dsc-archive-accent: var(--dsc-blue);
}

.tag-hoteles .dsc-archive-card {
   --dsc-archive-accent: #c76400;
}

.tag-cultura .dsc-archive-card {
   --dsc-archive-accent: #a600c7;
}

.dsc-archive-card::before {
   position: absolute;
   top: -1px;
   left: 0;
   width: 72px;
   height: 7px;
   content: "";
   background: var(--dsc-archive-accent);
}

.dsc-archive-card-image,
.dsc-archive-card-placeholder {
   aspect-ratio: 16 / 10;
}

.dsc-archive-card-placeholder span {
   font-family: var(--dsc-font-display);
   font-size: 64px;
}

.dsc-archive-card-content {
   padding-top: 20px;
}

.dsc-archive-card h2 {
   margin: 17px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(28px, 2.6vw, 38px);
   font-weight: 600;
   line-height: 1.08;
   letter-spacing: -.025em;
   text-wrap: balance;
}

.dsc-archive-card-content > p {
   display: -webkit-box;
   overflow: hidden;
   margin: 16px 0 0;
   color: var(--dsc-muted);
   font-size: 16px;
   line-height: 1.5;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
}

.dsc-archive-card-meta {
   margin-top: 19px;
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-archive-card-meta span {
   display: inline-block;
   padding-bottom: 3px;
   border-bottom: 1px solid var(--dsc-ink);
}

/* Archivo de newsletters. */
.dsc-newsletter-archive-hero {
   --dsc-archive-accent: var(--dsc-red);
   color: var(--dsc-paper);
   background:
      linear-gradient(90deg, var(--dsc-yellow) 0 12px, transparent 12px),
      var(--dsc-burgundy);
}

.dsc-newsletter-archive-hero .dsc-archive-eyebrow span:first-child {
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
}

.dsc-newsletter-archive-hero h1 {
   max-width: 1000px;
}

.dsc-newsletter-archive-hero p {
   color: #f0dfe4;
}

.dsc-archive-subscribe {
   display: inline-flex;
   min-height: 48px;
   align-items: center;
   margin-top: 34px;
   padding: 0 22px;
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.dsc-archive-subscribe:hover {
   color: var(--dsc-paper);
   background: var(--dsc-red);
}

.dsc-newsletter-archive .dsc-archive-card {
   --dsc-archive-accent: var(--dsc-red);
}

.dsc-newsletter-archive .dsc-archive-lead {
   background: var(--dsc-burgundy);
}

.dsc-archive-card.is-newsletter .dsc-archive-card-meta span {
   color: var(--dsc-red);
   border-color: var(--dsc-red);
}

/* Autor. */
.dsc-author-hero {
   padding-top: clamp(46px, 6vw, 90px);
   padding-bottom: clamp(48px, 7vw, 98px);
   border-bottom: 1px solid var(--dsc-ink);
   background: var(--dsc-cream);
}

.dsc-author-hero-inner {
   display: grid;
   box-sizing: border-box;
   max-width: 1180px;
   margin: 0 auto;
   grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
   gap: clamp(44px, 7vw, 100px);
   align-items: center;
}

.dsc-author-portrait {
   overflow: hidden;
   aspect-ratio: 4 / 5;
   border-bottom: 10px solid var(--dsc-magenta);
   background: var(--dsc-burgundy);
}

.dsc-author-portrait img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.dsc-author-portrait.is-placeholder {
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
}

.dsc-author-portrait.is-placeholder span {
   transform: rotate(-8deg);
   font-family: var(--dsc-font-display);
   font-size: 64px;
   text-transform: uppercase;
}

.dsc-author-heading {
   min-width: 0;
}

.dsc-author-heading .dsc-archive-eyebrow span:first-child {
   color: var(--dsc-paper);
   background: var(--dsc-magenta);
}

.dsc-author-heading h1 {
   margin: clamp(26px, 4vw, 44px) 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(52px, 7vw, 94px);
   font-weight: 600;
   line-height: .98;
   letter-spacing: -.045em;
}

.dsc-author-heading > p {
   max-width: 760px;
   margin: 28px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(20px, 1.8vw, 26px);
   font-weight: 500;
   line-height: 1.48;
}

.dsc-author-links {
   display: flex;
   align-items: center;
   gap: 18px;
   margin-top: 26px;
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-author-links > * + * {
   padding-left: 18px;
   border-left: 1px solid var(--dsc-ink);
}

.dsc-author-archive .dsc-archive-card {
   --dsc-archive-accent: var(--dsc-magenta);
}

/* Paginación editorial. */
.dsc-pagination {
   margin: clamp(64px, 8vw, 112px) 0 0;
   padding-bottom: clamp(76px, 9vw, 126px);
}

.dsc-pagination button.global-button {
   display: inline-flex;
   min-width: 190px;
   min-height: 54px;
   align-items: center;
   justify-content: space-between;
   gap: 30px;
   margin: 0;
   padding: 0 22px;
   border: 1px solid var(--dsc-ink);
   border-radius: 0;
   color: var(--dsc-paper);
   background: var(--dsc-ink);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-pagination button.global-button:hover {
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
}

.dsc-pagination button span:last-child {
   font-size: 18px;
}

/* Footer editorial. */
.global-footer {
   margin-top: clamp(86px, 10vw, 150px);
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.dsc-footer {
   box-sizing: border-box;
   max-width: 1440px;
   margin: 0 auto;
   padding-top: clamp(54px, 7vw, 96px);
   padding-bottom: 28px;
}

.dsc-footer-top {
   display: grid;
   grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
   gap: clamp(50px, 8vw, 120px);
   align-items: end;
}

.dsc-footer-brand .global-logo {
   max-width: 250px;
}

.dsc-footer-brand .global-logo svg,
.dsc-footer-brand .global-logo img {
   filter: invert(1);
}

.dsc-footer-brand > p {
   max-width: 440px;
   margin: 26px 0 0;
   color: #bdbdbd;
   font-size: 17px;
   line-height: 1.55;
}

.dsc-footer-community {
   padding: clamp(30px, 4vw, 48px);
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
}

.dsc-footer-community > span {
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-footer-community h2 {
   max-width: 650px;
   margin: 18px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(34px, 3.7vw, 52px);
   font-weight: 600;
   line-height: 1.02;
   letter-spacing: -.03em;
}

.dsc-footer-community p {
   max-width: 570px;
   margin: 18px 0 0;
   font-size: 17px;
   line-height: 1.45;
}

.dsc-footer-community > a {
   display: inline-flex;
   min-height: 45px;
   align-items: center;
   justify-content: space-between;
   gap: 30px;
   margin-top: 26px;
   padding: 0 18px;
   color: var(--dsc-paper);
   background: var(--dsc-ink);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .09em;
   text-transform: uppercase;
}

.dsc-footer-community > a:hover {
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-footer-nav {
   display: grid;
   margin-top: clamp(52px, 7vw, 86px);
   padding-top: 35px;
   border-top: 1px solid #494949;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 32px;
}

.dsc-footer-nav h3 {
   margin: 0 0 20px;
   color: var(--dsc-yellow);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 600;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-footer-nav ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

.dsc-footer-nav li {
   margin: 0 0 10px;
}

.dsc-footer-nav a {
   color: #d5d5d5;
   font-size: 15px;
   line-height: 1.35;
}

.dsc-footer-nav a:hover {
   color: var(--dsc-paper);
   text-decoration: underline;
   text-decoration-thickness: 1px;
   text-underline-offset: 4px;
}

.dsc-footer-social a {
   display: inline-flex;
   align-items: center;
}

.dsc-footer-social svg {
   width: 15px;
   height: 15px;
   margin-right: 8px;
   fill: currentColor;
}

.dsc-footer-bottom {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   margin-top: 42px;
   padding-top: 22px;
   border-top: 1px solid #494949;
   color: #929292;
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-footer-bottom p {
   margin: 0;
}

.dsc-footer-bottom a {
   color: var(--dsc-paper);
}

.global-footer > .subscribe-form {
   margin-bottom: 0;
}

@media (max-width: 900px) {
   .dsc-archive-lead {
      min-height: 0;
      grid-template-columns: 1fr;
   }

   .dsc-archive-lead-image,
   .dsc-archive-lead-placeholder {
      aspect-ratio: 16 / 10;
   }

   .dsc-archive-lead-content {
      min-height: 410px;
   }

   .dsc-archive-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .dsc-author-hero-inner {
      grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
      gap: 38px;
   }

   .dsc-footer-top {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 680px) {
   .dsc-archive-hero {
      padding-top: 28px;
      padding-bottom: 44px;
      background:
         linear-gradient(90deg, var(--dsc-archive-accent) 0 7px, transparent 7px),
         var(--dsc-cream);
   }

   .dsc-newsletter-archive-hero {
      background:
         linear-gradient(90deg, var(--dsc-yellow) 0 7px, transparent 7px),
         var(--dsc-burgundy);
   }

   .dsc-archive-eyebrow {
      align-items: flex-start;
      flex-direction: column;
      gap: 14px;
   }

   .dsc-archive-hero h1 {
      margin-top: 27px;
      font-size: clamp(44px, 14vw, 62px);
      line-height: .98;
   }

   .dsc-archive-hero p {
      margin-top: 22px;
      font-size: 20px;
   }

   .dsc-archive-section {
      margin-top: 42px;
   }

   .dsc-archive-lead {
      margin-bottom: 58px;
   }

   .dsc-archive-lead-content {
      min-height: 0;
      padding: 29px 24px 34px;
   }

   .dsc-archive-lead h2 {
      margin-top: 25px;
      font-size: clamp(34px, 10vw, 43px);
      line-height: 1.06;
   }

   .dsc-archive-lead-content > p {
      margin-top: 20px;
      font-size: 17px;
      -webkit-line-clamp: 3;
   }

   .dsc-archive-lead-meta {
      align-items: flex-start;
      flex-direction: column;
      gap: 13px;
      margin-top: 28px;
      padding-top: 0;
   }

   .dsc-archive-grid {
      grid-template-columns: 1fr;
      gap: 42px;
   }

   .dsc-archive-card {
      display: grid;
      min-height: 142px;
      grid-template-columns: minmax(112px, 34%) minmax(0, 1fr);
      gap: 16px;
   }

   .dsc-archive-card-image,
   .dsc-archive-card-placeholder {
      height: 100%;
      min-height: 142px;
      aspect-ratio: auto;
   }

   .dsc-archive-card-content {
      padding-top: 4px;
   }

   .dsc-archive-card-kicker {
      align-items: flex-start;
      flex-direction: column;
      gap: 5px;
   }

   .dsc-archive-card h2 {
      margin-top: 10px;
      font-size: clamp(23px, 6.8vw, 29px);
   }

   .dsc-archive-card-content > p {
      display: none;
   }

   .dsc-archive-card-meta {
      margin-top: 12px;
   }

   .dsc-author-hero {
      padding-top: 30px;
      padding-bottom: 46px;
   }

   .dsc-author-hero-inner {
      grid-template-columns: 1fr;
      gap: 31px;
   }

   .dsc-author-portrait {
      width: min(220px, 65vw);
   }

   .dsc-author-heading h1 {
      margin-top: 25px;
      font-size: clamp(46px, 14vw, 62px);
   }

   .dsc-author-heading > p {
      margin-top: 22px;
      font-size: 19px;
   }

   .dsc-author-links {
      align-items: flex-start;
      flex-direction: column;
      gap: 9px;
   }

   .dsc-author-links > * + * {
      padding-left: 0;
      border-left: 0;
   }

   .dsc-footer {
      padding-top: 48px;
   }

   .dsc-footer-brand > p {
      font-size: 16px;
   }

   .dsc-footer-community {
      margin-right: calc(-1 * var(--dsc-page-gutter));
      margin-left: calc(-1 * var(--dsc-page-gutter));
      padding: 30px var(--dsc-page-gutter) 34px;
   }

   .dsc-footer-community h2 {
      font-size: 36px;
   }

   .dsc-footer-nav {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 36px 24px;
   }

   .dsc-footer-bottom {
      align-items: flex-start;
      flex-direction: column;
      gap: 9px;
   }
}

/* Buscador editorial
/* ---------------------------------------------------------- */

.dsc-search-section .search-overlay {
   background: rgba(13, 13, 13, .86);
   backdrop-filter: blur(10px);
}

.dsc-search-section .search-wrap {
   width: min(1080px, calc(100% - 64px));
   max-height: calc(100vh - 64px);
   margin: 32px auto;
   overflow: auto;
   background: var(--dsc-paper, #f5f3ee);
}

.dsc-search-section .search-content {
   box-sizing: border-box;
   width: 100%;
   max-width: none;
   margin: 0;
   padding: clamp(34px, 6vw, 78px);
   background: transparent;
   pointer-events: auto;
}

.dsc-search-heading {
   display: grid;
   gap: 11px;
   max-width: 760px;
   margin-bottom: 38px;
}

.dsc-search-heading span,
.dsc-search-label {
   font-family: var(--font-family-two);
   font-size: 12px;
   font-weight: 800;
   line-height: 1;
   letter-spacing: .16em;
   text-transform: uppercase;
}

.dsc-search-heading strong {
   font-family: var(--font-family-one);
   font-size: clamp(40px, 6vw, 76px);
   font-weight: 700;
   line-height: .98;
   letter-spacing: -.045em;
}

.dsc-search-section .search-form {
   position: static;
   display: grid;
   gap: 13px;
   padding: 0;
   border: 0;
}

.dsc-search-section .search-input {
   width: 100%;
   height: auto;
   padding: 15px 56px 18px 0;
   border: 0;
   border-bottom: 3px solid var(--dsc-ink, #111);
   border-radius: 0;
   background: transparent;
   color: var(--dsc-ink, #111);
   font-family: var(--font-family-one);
   font-size: clamp(25px, 3.2vw, 43px);
   font-weight: 500;
   line-height: 1.12;
}

.dsc-search-section .search-input::placeholder {
   color: #8d8a83;
   opacity: 1;
}

.dsc-search-section .search-input:focus {
   outline: 0;
   border-color: var(--dsc-coral, #f04c3e);
}

.dsc-search-section .search-meta {
   min-height: 20px;
   color: #69665f;
   font-family: var(--font-family-two);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-search-section .search-close {
   top: 35px;
   right: 35px;
   display: grid;
   width: 42px;
   height: 42px;
   padding: 12px;
   border: 1px solid rgba(17, 17, 17, .22);
   border-radius: 50%;
   background: transparent;
   color: var(--dsc-ink, #111);
   transform: none;
   place-items: center;
   cursor: pointer;
}

.dsc-search-section .search-results {
   display: grid;
   width: 100%;
   height: auto;
   padding: 0;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 36px 24px;
   margin-top: 48px;
}

.dsc-search-section .search-results > a {
   display: block;
   min-width: 0;
   padding: 0;
   border-top: 1px solid #111;
   pointer-events: auto;
}

.dsc-search-section .search-results img {
   width: 100%;
   height: auto;
   margin: 0;
   aspect-ratio: 4 / 3;
   border-radius: 0;
   object-fit: cover;
}

.dsc-search-section .search-results h5 {
   margin-top: 14px;
   font-family: var(--font-family-one);
   font-size: clamp(21px, 2vw, 28px);
   line-height: 1.08;
   letter-spacing: -.025em;
}

.dsc-search-section .search-results time {
   display: block;
   margin-top: 11px;
   color: #69665f;
   font-family: var(--font-family-two);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .08em;
   text-transform: uppercase;
}

@media (max-width: 760px) {
   .dsc-search-section {
      position: fixed;
      height: 100dvh;
      min-height: 0;
      overflow: hidden;
   }

   .dsc-search-section .search-wrap {
      width: 100%;
      height: 100dvh;
      max-height: 100dvh;
      min-height: 0;
      margin: 0;
      overflow-x: hidden;
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
   }

   .dsc-search-section .search-content {
      min-height: 100%;
      padding: 68px var(--dsc-page-gutter) 56px;
   }

   .dsc-search-heading {
      gap: 8px;
      margin-bottom: 24px;
   }

   .dsc-search-heading strong {
      max-width: 9ch;
      font-size: clamp(38px, 11vw, 48px);
      line-height: .94;
   }

   .dsc-search-section .search-input {
      padding-right: 0;
      font-size: 25px;
   }

   .dsc-search-section .search-results {
      grid-template-columns: 1fr;
      gap: 0;
      margin-top: 24px;
   }

   .dsc-search-section .search-results > a {
      display: grid;
      min-height: 104px;
      padding: 14px 0;
      grid-template-columns: 96px minmax(0, 1fr);
      grid-template-rows: min-content min-content;
      column-gap: 14px;
      align-content: start;
   }

   .dsc-search-section .search-results img {
      width: 96px;
      height: 76px;
      grid-column: 1;
      grid-row: 1 / span 2;
      aspect-ratio: auto;
   }

   .dsc-search-section .search-results h5 {
      display: -webkit-box;
      margin: 0;
      overflow: hidden;
      grid-column: 2;
      font-size: 21px;
      line-height: 1.08;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
   }

   .dsc-search-section .search-results time {
      margin-top: 8px;
      grid-column: 2;
   }

   .dsc-search-section .search-close {
      top: 16px;
      right: var(--dsc-page-gutter);
   }
}

/* Páginas editoriales y error 404
/* ---------------------------------------------------------- */

.dsc-page-shell {
   background: #fff;
}

.dsc-page-header {
   padding-top: clamp(58px, 8vw, 112px);
   padding-bottom: clamp(52px, 7vw, 94px);
   background: var(--dsc-paper, #f5f3ee);
}

.dsc-page-header-inner {
   max-width: 990px;
   margin: 0 auto;
   text-align: center;
}

.dsc-page-eyebrow,
.dsc-error-eyebrow,
.dsc-section-heading > span {
   display: block;
   font-family: var(--font-family-two);
   font-size: 12px;
   font-weight: 800;
   line-height: 1;
   letter-spacing: .16em;
   text-transform: uppercase;
}

.dsc-page-header h1 {
   margin: 22px 0 0;
   font-family: var(--font-family-one);
   font-size: clamp(50px, 7.5vw, 102px);
   font-weight: 700;
   line-height: .96;
   letter-spacing: -.055em;
}

.dsc-page-header p {
   max-width: 730px;
   margin: 28px auto 0;
   font-size: clamp(19px, 2vw, 25px);
   line-height: 1.42;
}

.dsc-page-feature {
   max-width: 1320px;
   margin: clamp(40px, 6vw, 84px) auto 0;
}

.dsc-page-feature img {
   display: block;
   width: 100%;
   max-height: 760px;
   object-fit: cover;
}

.dsc-page-feature figcaption {
   margin-top: 10px;
   color: #6e6b65;
   font-size: 12px;
   line-height: 1.4;
}

.dsc-page-content {
   max-width: 850px;
   margin: 0 auto;
   padding-top: clamp(52px, 7vw, 96px);
   padding-bottom: clamp(76px, 10vw, 140px);
}

.dsc-page-content > :first-child {
   margin-top: 0;
}

.dsc-page-content > p:first-child {
   font-size: 1.18em;
   line-height: 1.65;
}

.dsc-page-content h2 {
   margin-top: 1.75em;
   font-size: clamp(31px, 4vw, 47px);
   line-height: 1.05;
   letter-spacing: -.035em;
}

.dsc-page-content h3 {
   margin-top: 1.65em;
   font-size: clamp(24px, 3vw, 32px);
   line-height: 1.12;
}

.dsc-error-page {
   background: #fff;
}

.dsc-error-hero {
   display: grid;
   grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
   align-items: center;
   gap: clamp(40px, 8vw, 130px);
   min-height: 620px;
   padding-top: clamp(68px, 9vw, 126px);
   padding-bottom: clamp(68px, 9vw, 126px);
   overflow: hidden;
   background: #f4dc31;
}

.dsc-error-code {
   color: #111;
   font-family: var(--font-family-one);
   font-size: clamp(180px, 28vw, 420px);
   font-weight: 800;
   line-height: .7;
   letter-spacing: -.11em;
}

.dsc-error-copy {
   max-width: 690px;
}

.dsc-error-copy h1 {
   margin: 23px 0 0;
   font-family: var(--font-family-one);
   font-size: clamp(48px, 6.5vw, 88px);
   font-weight: 700;
   line-height: .94;
   letter-spacing: -.05em;
}

.dsc-error-copy > p {
   max-width: 610px;
   margin: 28px 0 0;
   font-size: clamp(18px, 1.8vw, 23px);
   line-height: 1.47;
}

.dsc-error-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   margin-top: 35px;
}

.dsc-button {
   display: inline-flex;
   min-height: 50px;
   align-items: center;
   justify-content: center;
   padding: 0 24px;
   border: 2px solid #111;
   border-radius: 0;
   font-family: var(--font-family-two);
   font-size: 12px;
   font-weight: 800;
   line-height: 1;
   letter-spacing: .1em;
   text-transform: uppercase;
   cursor: pointer;
}

.dsc-button-dark {
   background: #111;
   color: #fff;
}

.dsc-button-outline {
   background: transparent;
   color: #111;
}

.dsc-button:hover {
   transform: translateY(-2px);
}

.dsc-error-latest {
   padding-top: clamp(70px, 9vw, 120px);
   padding-bottom: clamp(80px, 10vw, 140px);
}

.dsc-section-heading {
   margin-bottom: 38px;
   border-top: 2px solid #111;
   padding-top: 18px;
}

.dsc-section-heading h2 {
   margin: 12px 0 0;
   font-family: var(--font-family-one);
   font-size: clamp(40px, 5vw, 68px);
   line-height: .98;
   letter-spacing: -.045em;
}

@media (max-width: 760px) {
   .dsc-page-header {
      padding-top: 46px;
      padding-bottom: 50px;
   }

   .dsc-page-header h1 {
      font-size: clamp(46px, 14vw, 66px);
   }

   .dsc-page-header p {
      font-size: 18px;
   }

   .dsc-page-feature {
      margin-top: 0;
      padding-right: 0;
      padding-left: 0;
   }

   .dsc-page-feature figcaption {
      padding-right: var(--dsc-page-gutter);
      padding-left: var(--dsc-page-gutter);
   }

   .dsc-page-content {
      padding-top: 50px;
      padding-bottom: 82px;
   }

   .dsc-error-hero {
      grid-template-columns: 1fr;
      gap: 34px;
      min-height: 0;
      padding-top: 54px;
      padding-bottom: 64px;
   }

   .dsc-error-code {
      font-size: clamp(140px, 48vw, 210px);
   }

   .dsc-error-copy h1 {
      font-size: clamp(45px, 13vw, 61px);
   }

   .dsc-error-actions {
      flex-direction: column;
   }

   .dsc-button {
      width: 100%;
   }

   .dsc-error-latest {
      padding-top: 62px;
      padding-bottom: 84px;
   }
}

/* Directorios y contacto
/* ---------------------------------------------------------- */

.dsc-directory-page {
   background: #fff;
}

.dsc-directory-hero {
   padding-top: clamp(62px, 9vw, 126px);
   padding-bottom: clamp(62px, 8vw, 112px);
   background: #df3b87;
   color: #111;
}

.dsc-directory-page.is-authors .dsc-directory-hero {
   background: #f4dc31;
}

.dsc-directory-hero > span,
.dsc-contact-intro > span {
   font-family: var(--font-family-two);
   font-size: 12px;
   font-weight: 800;
   line-height: 1;
   letter-spacing: .16em;
   text-transform: uppercase;
}

.dsc-directory-hero h1 {
   max-width: 1050px;
   margin: 23px 0 0;
   font-family: var(--font-family-one);
   font-size: clamp(56px, 9vw, 126px);
   font-weight: 700;
   line-height: .88;
   letter-spacing: -.06em;
}

.dsc-directory-hero p {
   max-width: 700px;
   margin: 31px 0 0;
   font-size: clamp(19px, 2vw, 25px);
   line-height: 1.42;
}

.dsc-directory-content {
   padding-top: clamp(68px, 9vw, 122px);
   padding-bottom: clamp(84px, 11vw, 150px);
}

.dsc-topic-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 28px;
}

.dsc-topic-card {
   position: relative;
   min-height: 430px;
   overflow: hidden;
   background: #111;
   color: #fff;
}

.dsc-topic-card > a,
.dsc-person-card > a {
   position: absolute;
   z-index: 3;
   inset: 0;
}

.dsc-topic-card img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .5s ease;
}

.dsc-topic-card::after {
   position: absolute;
   background: linear-gradient(180deg, transparent 24%, rgba(0, 0, 0, .84) 100%);
   content: "";
   inset: 0;
}

.dsc-topic-card > div {
   position: absolute;
   z-index: 2;
   right: 0;
   bottom: 0;
   left: 0;
   padding: 30px;
}

.dsc-topic-card > div > span,
.dsc-person-copy > span {
   font-family: var(--font-family-two);
   font-size: 11px;
   font-weight: 800;
   letter-spacing: .13em;
   text-transform: uppercase;
}

.dsc-topic-card h2 {
   margin: 9px 0 0;
   font-family: var(--font-family-one);
   font-size: clamp(33px, 3.8vw, 53px);
   line-height: .98;
   letter-spacing: -.045em;
}

.dsc-topic-card p {
   display: -webkit-box;
   margin: 14px 0 0;
   overflow: hidden;
   font-size: 15px;
   line-height: 1.42;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
}

.dsc-topic-card.is-without-image {
   min-height: 300px;
   background: #f04c3e;
   color: #111;
}

.dsc-topic-card.is-without-image:nth-child(4n + 2) {
   background: #f4dc31;
}

.dsc-topic-card.is-without-image:nth-child(4n + 3) {
   background: #68c89b;
}

.dsc-topic-card.is-without-image:nth-child(4n) {
   background: #df3b87;
}

.dsc-topic-card.is-without-image::after {
   display: none;
}

.dsc-topic-card:hover img {
   transform: scale(1.035);
}

.dsc-people-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 52px 28px;
}

.dsc-person-card {
   position: relative;
}

.dsc-person-image {
   aspect-ratio: 4 / 5;
   overflow: hidden;
   background: var(--dsc-paper, #f5f3ee);
}

.dsc-person-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   filter: saturate(.85);
   transition: filter .3s ease, transform .45s ease;
}

.dsc-person-image > span {
   display: grid;
   width: 100%;
   height: 100%;
   padding: 30px;
   background: #68c89b;
   font-family: var(--font-family-one);
   font-size: 44px;
   font-weight: 700;
   line-height: 1;
   place-items: end start;
}

.dsc-person-copy {
   padding-top: 18px;
   border-top: 1px solid #111;
}

.dsc-person-copy h2 {
   margin: 11px 0 0;
   font-family: var(--font-family-one);
   font-size: clamp(30px, 3.2vw, 44px);
   line-height: 1;
   letter-spacing: -.04em;
}

.dsc-person-copy p {
   display: -webkit-box;
   margin: 15px 0 0;
   overflow: hidden;
   color: #54514c;
   font-size: 15px;
   line-height: 1.5;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
}

.dsc-person-card:hover img {
   filter: saturate(1);
   transform: scale(1.025);
}

.dsc-contact-page {
   display: grid;
   grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr);
   gap: clamp(60px, 10vw, 170px);
   padding-top: clamp(68px, 9vw, 126px);
   padding-bottom: clamp(84px, 11vw, 150px);
   background: #f4dc31;
}

.dsc-contact-intro h1 {
   max-width: 700px;
   margin: 22px 0 0;
   font-family: var(--font-family-one);
   font-size: clamp(54px, 7vw, 94px);
   font-weight: 700;
   line-height: .92;
   letter-spacing: -.055em;
}

.dsc-contact-intro > p {
   max-width: 540px;
   margin: 29px 0 0;
   font-size: clamp(19px, 2vw, 24px);
   line-height: 1.45;
}

.dsc-contact-note {
   max-width: 560px;
   margin-top: 34px;
   padding-top: 25px;
   border-top: 1px solid rgba(17, 17, 17, .35);
   font-size: 15px;
}

.dsc-contact-form-wrap {
   align-self: start;
   padding: clamp(30px, 4vw, 58px);
   background: #fff;
}

.dsc-contact-form {
   display: grid;
   gap: 31px;
}

.dsc-form-field {
   display: grid;
   gap: 10px;
}

.dsc-form-field label {
   font-family: var(--font-family-two);
   font-size: 11px;
   font-weight: 800;
   letter-spacing: .12em;
   text-transform: uppercase;
}

.dsc-form-field input,
.dsc-form-field textarea {
   width: 100%;
   padding: 12px 0;
   border: 0;
   border-bottom: 2px solid #111;
   border-radius: 0;
   background: transparent;
   color: #111;
   font-family: var(--font-family-two);
   font-size: 17px;
}

.dsc-form-field textarea {
   min-height: 150px;
   resize: vertical;
}

.dsc-form-field input:focus,
.dsc-form-field textarea:focus {
   outline: 0;
   border-color: #f04c3e;
}

.dsc-contact-form .dsc-button {
   justify-self: start;
}

@media (max-width: 980px) {
   .dsc-topic-grid,
   .dsc-people-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .dsc-contact-page {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 620px) {
   .dsc-directory-hero {
      padding-top: 50px;
      padding-bottom: 58px;
   }

   .dsc-directory-hero h1 {
      font-size: clamp(52px, 17vw, 72px);
   }

   .dsc-directory-content {
      padding-top: 50px;
      padding-bottom: 80px;
   }

   .dsc-topic-grid,
   .dsc-people-grid {
      grid-template-columns: 1fr;
   }

   .dsc-topic-card {
      min-height: 390px;
   }

   .dsc-contact-page {
      gap: 44px;
      padding-top: 54px;
      padding-bottom: 72px;
   }

   .dsc-contact-form-wrap {
      margin-right: calc(-1 * var(--dsc-page-gutter));
      margin-left: calc(-1 * var(--dsc-page-gutter));
      padding: 30px var(--dsc-page-gutter) 38px;
   }

   .dsc-contact-form .dsc-button {
      width: 100%;
   }
}

/* Landing de comunidad y registro
/* ---------------------------------------------------------- */

.dsc-community-page {
   overflow: hidden;
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.page-signup .global-footer,
.page-template .dsc-community-page + .global-footer {
   margin-top: 0;
}

.dsc-community-hero {
   display: grid;
   grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
   align-items: center;
   gap: clamp(50px, 8vw, 130px);
   min-height: 720px;
   padding-top: clamp(64px, 8vw, 112px);
   padding-bottom: clamp(68px, 9vw, 130px);
   background: var(--dsc-coral);
}

.dsc-community-kicker,
.dsc-community-form-label,
.dsc-community-section-heading > span,
.dsc-community-manifesto > div > span,
.dsc-community-final > span {
   display: block;
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: .16em;
   text-transform: uppercase;
}

.dsc-community-hero h1 {
   max-width: 860px;
   margin: 26px 0 0;
   font-family: var(--dsc-font-display);
   font-size: clamp(76px, 9.4vw, 145px);
   font-weight: 700;
   line-height: .97;
   letter-spacing: -.055em;
   text-transform: uppercase;
}

.dsc-community-hero-copy > p {
   max-width: 670px;
   margin: 34px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(22px, 2.2vw, 31px);
   font-weight: 500;
   line-height: 1.32;
}

.dsc-community-hero-actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 22px;
   margin-top: 40px;
}

.dsc-community-button {
   display: inline-flex;
   min-height: 54px;
   align-items: center;
   justify-content: center;
   padding: 0 24px;
   border: 2px solid var(--dsc-ink);
   border-radius: 0;
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: .1em;
   text-align: center;
   text-transform: uppercase;
   cursor: pointer;
   transition: transform .2s ease, color .2s ease, background-color .2s ease;
}

.dsc-community-button:hover {
   transform: translateY(-2px);
}

.dsc-community-button.is-dark {
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.dsc-community-button.is-yellow {
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
}

.dsc-community-button.is-outline {
   color: var(--dsc-ink);
   background: transparent;
}

.dsc-community-text-link {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding-bottom: 4px;
   border-bottom: 1px solid currentColor;
   font-family: var(--dsc-font-condensed);
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-community-proof {
   display: flex;
   flex-wrap: wrap;
   gap: 10px 24px;
   margin-top: 44px;
   padding-top: 19px;
   border-top: 1px solid rgba(11, 11, 11, .35);
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-community-proof span::before {
   margin-right: 8px;
   content: "✓";
}

.dsc-community-signup {
   align-self: center;
   padding: clamp(32px, 4.5vw, 62px);
   color: var(--dsc-paper);
   background: var(--dsc-ink);
   box-shadow: 14px 14px 0 var(--dsc-yellow);
}

.dsc-community-signup h2,
.dsc-community-member-state h2 {
   margin: 15px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(38px, 4.1vw, 58px);
   font-weight: 600;
   line-height: .98;
   letter-spacing: -.04em;
}

.dsc-community-signup > p,
.dsc-community-member-state > p {
   margin: 19px 0 0;
   color: #d0d0d0;
   font-size: 17px;
   line-height: 1.45;
}

.dsc-community-form {
   margin-top: 30px;
}

.dsc-community-form-fields {
   display: grid;
}

.dsc-community-form-fields > label:not(.dsc-community-consent) {
   margin: 20px 0 9px;
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase;
}

.dsc-community-form-fields > label:first-child {
   margin-top: 0;
}

.dsc-community-form-fields > label small {
   margin-left: 5px;
   color: #8f8f8f;
   font: inherit;
   font-weight: 400;
}

.dsc-community-form input[type="text"],
.dsc-community-form input[type="email"] {
   width: 100%;
   height: 50px;
   padding: 0;
   border: 0;
   border-bottom: 2px solid #666;
   border-radius: 0;
   background: transparent;
   color: var(--dsc-paper);
   font-family: var(--dsc-font-copy);
   font-size: 18px;
}

.dsc-community-form input::placeholder {
   color: #777;
   opacity: 1;
}

.dsc-community-form input:focus {
   outline: 0;
   border-color: var(--dsc-yellow);
}

.dsc-community-consent {
   display: grid;
   grid-template-columns: 18px minmax(0, 1fr);
   align-items: start;
   gap: 10px;
   margin: 24px 0;
   color: #bdbdbd;
   font-size: 12px;
   line-height: 1.42;
}

.dsc-community-consent input {
   width: 17px;
   height: 17px;
   margin: 0;
   accent-color: var(--dsc-yellow);
}

.dsc-community-consent a,
.dsc-community-signin a {
   color: var(--dsc-paper);
   text-decoration: underline;
}

.dsc-community-form .dsc-community-button {
   width: 100%;
}

.dsc-community-submit-loading {
   display: none;
}

.dsc-community-form.loading .dsc-community-submit-default {
   display: none;
}

.dsc-community-form.loading .dsc-community-submit-loading {
   display: inline;
}

.dsc-community-form.loading button {
   opacity: .65;
   pointer-events: none;
}

.dsc-community-form-error {
   min-height: 18px;
   margin: 10px 0 0;
   color: var(--dsc-coral);
   font-size: 12px;
}

.dsc-community-signin {
   margin-top: 16px;
   color: #999;
   font-size: 12px;
   text-align: center;
}

.dsc-community-form-success {
   display: none;
   padding: 24px 0 12px;
}

.dsc-community-form-success > span,
.dsc-community-member-state > span {
   color: var(--dsc-yellow);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .14em;
   text-transform: uppercase;
}

.dsc-community-form-success h3 {
   margin: 16px 0 0;
   color: var(--dsc-paper);
   font-family: var(--dsc-font-headline);
   font-size: 42px;
   line-height: 1;
}

.dsc-community-form-success p {
   margin: 18px 0 0;
   color: #c8c8c8;
   font-size: 16px;
   line-height: 1.5;
}

.dsc-community-form.success .dsc-community-form-fields {
   display: none;
}

.dsc-community-form.success .dsc-community-form-success {
   display: block;
}

.dsc-community-member-state .dsc-community-button {
   margin-top: 30px;
}

.dsc-community-benefits {
   padding-top: clamp(74px, 10vw, 145px);
   padding-bottom: clamp(80px, 11vw, 155px);
   background: var(--dsc-cream);
}

.dsc-community-section-heading {
   display: grid;
   grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr);
   align-items: start;
   gap: clamp(36px, 8vw, 130px);
   padding-top: 18px;
   border-top: 2px solid var(--dsc-ink);
}

.dsc-community-section-heading h2 {
   max-width: 930px;
   margin: -6px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(48px, 6.5vw, 94px);
   font-weight: 600;
   line-height: .92;
   letter-spacing: -.05em;
}

.dsc-community-benefit-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1px;
   margin-top: clamp(60px, 8vw, 105px);
   background: var(--dsc-ink);
   border: 1px solid var(--dsc-ink);
}

.dsc-community-benefit-grid article {
   min-height: 310px;
   padding: clamp(27px, 3.4vw, 48px);
   background: var(--dsc-paper);
}

.dsc-community-benefit-grid article > span {
   display: inline-flex;
   width: 39px;
   height: 39px;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   color: var(--dsc-ink);
   background: var(--dsc-yellow);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
}

.dsc-community-benefit-grid h3 {
   margin: 54px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(29px, 3vw, 40px);
   font-weight: 600;
   line-height: 1;
   letter-spacing: -.035em;
}

.dsc-community-benefit-grid p {
   margin: 20px 0 0;
   color: #515151;
   font-size: 16px;
   line-height: 1.5;
}

.dsc-community-plans {
   padding-top: clamp(80px, 10vw, 145px);
   padding-bottom: clamp(84px, 11vw, 160px);
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.dsc-community-section-heading.is-light {
   border-color: var(--dsc-paper);
}

.dsc-community-plan-grid {
   display: grid;
   grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
   gap: 24px;
   margin-top: clamp(56px, 7vw, 92px);
}

.dsc-community-plan {
   display: flex;
   min-width: 0;
   flex-direction: column;
   padding: clamp(29px, 4vw, 54px);
   color: var(--dsc-ink);
}

.dsc-community-plan.is-free {
   background: var(--dsc-paper);
}

.dsc-community-plan.is-print {
   background: var(--dsc-yellow);
}

.dsc-community-plan-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   padding-bottom: 18px;
   border-bottom: 1px solid currentColor;
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.dsc-community-plan-top strong {
   font-size: 17px;
}

.dsc-community-plan h3 {
   margin: 38px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(43px, 5vw, 71px);
   font-weight: 600;
   line-height: .94;
   letter-spacing: -.045em;
}

.dsc-community-plan p {
   max-width: 580px;
   margin: 22px 0 0;
   font-size: 17px;
   line-height: 1.48;
}

.dsc-community-plan ul,
.dsc-community-tier ul {
   display: grid;
   gap: 12px;
   margin: 32px 0 38px;
   padding: 0;
   list-style: none;
}

.dsc-community-plan li,
.dsc-community-tier li {
   position: relative;
   padding: 0 0 12px 25px;
   border-bottom: 1px solid rgba(11, 11, 11, .18);
   font-size: 14px;
   line-height: 1.35;
}

.dsc-community-plan li::before,
.dsc-community-tier li::before {
   position: absolute;
   top: 0;
   left: 0;
   font-weight: 700;
   content: "✓";
}

.dsc-community-plan > .dsc-community-button {
   align-self: flex-start;
   margin-top: auto;
}

.dsc-community-plan.is-free .dsc-community-button:hover {
   color: var(--dsc-paper);
   background: var(--dsc-ink);
}

.dsc-community-print-layout {
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(190px, .48fr);
   align-items: start;
   gap: clamp(28px, 4vw, 62px);
}

.dsc-community-cover {
   position: relative;
   aspect-ratio: 3 / 4;
   margin-top: 38px;
   overflow: hidden;
   color: var(--dsc-paper);
   background: var(--dsc-pink);
   box-shadow: 9px 10px 0 var(--dsc-ink);
}

.dsc-community-cover.has-cover {
   aspect-ratio: 482 / 680;
}

.dsc-community-cover img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.dsc-community-cover.has-cover::after {
   display: none;
}

.dsc-community-cover::after {
   position: absolute;
   background: linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .72));
   content: "";
   inset: 0;
}

.dsc-community-cover.is-placeholder {
   background:
      linear-gradient(145deg, transparent 42%, var(--dsc-purple) 42% 58%, transparent 58%),
      linear-gradient(35deg, var(--dsc-pink), var(--dsc-coral));
}

.dsc-community-cover > div {
   position: absolute;
   z-index: 1;
   display: flex;
   flex-direction: column;
   padding: 17px;
   inset: 0;
}

.dsc-community-cover small {
   font-family: var(--dsc-font-condensed);
   font-size: 8px;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
}

.dsc-community-cover strong {
   margin-top: 8px;
   font-family: var(--dsc-font-headline);
   font-size: clamp(30px, 3.3vw, 48px);
   line-height: .9;
   letter-spacing: -.05em;
}

.dsc-community-cover span {
   max-width: 150px;
   margin-top: auto;
   font-family: var(--dsc-font-headline);
   font-size: 19px;
   font-weight: 600;
   line-height: 1.05;
}

.dsc-community-plan-note {
   margin-top: 14px;
   font-size: 11px;
   line-height: 1.35;
}

.dsc-community-digital-tiers {
   padding-top: clamp(76px, 9vw, 130px);
   padding-bottom: clamp(82px, 10vw, 145px);
   background: var(--dsc-cream);
}

.dsc-community-tier-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 20px;
   margin-top: 70px;
}

.dsc-community-tier {
   display: flex;
   flex-direction: column;
   padding: 34px;
   border: 2px solid var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-community-tier > span {
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .13em;
   text-transform: uppercase;
}

.dsc-community-tier h3 {
   margin: 28px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: 47px;
   line-height: 1;
}

.dsc-community-tier h3 small {
   font-size: 15px;
   font-weight: 500;
}

.dsc-community-tier > p {
   margin: 19px 0 0;
   color: var(--dsc-muted);
   font-size: 15px;
   line-height: 1.45;
}

.dsc-community-tier .dsc-community-button {
   margin-top: auto;
}

.dsc-community-manifesto {
   display: grid;
   grid-template-columns: minmax(0, 1.3fr) minmax(330px, .7fr);
   align-items: end;
   gap: clamp(60px, 11vw, 180px);
   padding-top: clamp(80px, 10vw, 145px);
   padding-bottom: clamp(82px, 11vw, 150px);
   background: var(--dsc-pink);
}

.dsc-community-manifesto h2 {
   max-width: 980px;
   margin: 25px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(53px, 7.2vw, 105px);
   font-weight: 600;
   line-height: .91;
   letter-spacing: -.055em;
}

.dsc-community-manifesto > p {
   margin: 0;
   padding-top: 20px;
   border-top: 2px solid var(--dsc-ink);
   font-size: clamp(18px, 1.8vw, 23px);
   line-height: 1.48;
}

.dsc-community-faq {
   padding-top: clamp(76px, 10vw, 140px);
   padding-bottom: clamp(82px, 11vw, 155px);
   background: var(--dsc-paper);
}

.dsc-community-faq-grid {
   max-width: 980px;
   margin: clamp(58px, 8vw, 96px) 0 0 auto;
   border-top: 2px solid var(--dsc-ink);
}

.dsc-community-faq details {
   border-bottom: 1px solid var(--dsc-ink);
}

.dsc-community-faq summary {
   position: relative;
   padding: 25px 54px 25px 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(24px, 2.7vw, 35px);
   font-weight: 600;
   line-height: 1.08;
   list-style: none;
   cursor: pointer;
}

.dsc-community-faq summary::-webkit-details-marker {
   display: none;
}

.dsc-community-faq summary::after {
   position: absolute;
   top: 22px;
   right: 4px;
   font-family: var(--dsc-font-copy);
   font-size: 30px;
   font-weight: 400;
   content: "+";
}

.dsc-community-faq details[open] summary::after {
   content: "−";
}

.dsc-community-faq details p {
   max-width: 730px;
   margin: 0;
   padding: 0 45px 28px 0;
   color: #4f4f4f;
   font-size: 17px;
   line-height: 1.55;
}

.dsc-community-page-content {
   max-width: 860px;
   margin: 70px 0 0 auto;
   padding-top: 40px;
   border-top: 2px solid var(--dsc-ink);
}

.dsc-community-final {
   padding-top: clamp(76px, 9vw, 125px);
   padding-bottom: clamp(78px, 10vw, 138px);
   color: var(--dsc-paper);
   background: var(--dsc-burgundy);
}

.dsc-community-final h2 {
   max-width: 1120px;
   margin: 25px 0 38px;
   font-family: var(--dsc-font-display);
   font-size: clamp(64px, 9vw, 135px);
   font-weight: 700;
   line-height: 1.08;
   letter-spacing: -.05em;
   text-transform: uppercase;
}

@media (max-width: 1040px) {
   .dsc-community-hero {
      grid-template-columns: minmax(0, 1fr) minmax(350px, .8fr);
      gap: 45px;
   }

   .dsc-community-plan-grid {
      grid-template-columns: 1fr;
   }

   .dsc-community-plan.is-free {
      min-height: 520px;
   }

   .dsc-community-tier-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 820px) {
   .dsc-community-hero,
   .dsc-community-manifesto {
      grid-template-columns: 1fr;
   }

   .dsc-community-hero {
      gap: 58px;
   }

   .dsc-community-signup {
      width: min(620px, calc(100% - 14px));
   }

   .dsc-community-section-heading {
      grid-template-columns: 1fr;
      gap: 25px;
   }

   .dsc-community-section-heading h2 {
      margin-top: 0;
   }

   .dsc-community-benefit-grid {
      grid-template-columns: 1fr;
   }

   .dsc-community-benefit-grid article {
      min-height: 0;
   }

   .dsc-community-benefit-grid h3 {
      margin-top: 35px;
   }

   .dsc-community-manifesto {
      align-items: start;
      gap: 48px;
   }

   .dsc-community-manifesto > p {
      max-width: 650px;
   }
}

@media (max-width: 620px) {
   .dsc-community-hero {
      min-height: 0;
      padding-top: 48px;
      padding-bottom: 74px;
   }

   .dsc-community-hero h1 {
      font-size: clamp(68px, 22vw, 96px);
   }

   .dsc-community-hero-copy > p {
      margin-top: 27px;
      font-size: 21px;
   }

   .dsc-community-hero-actions {
      align-items: flex-start;
      flex-direction: column;
      margin-top: 32px;
   }

   .dsc-community-proof {
      align-items: flex-start;
      flex-direction: column;
   }

   .dsc-community-signup {
      width: calc(100% - 10px);
      margin: 0;
      padding: 30px 24px 34px;
      box-shadow: 10px 10px 0 var(--dsc-yellow);
   }

   .dsc-community-signup h2,
   .dsc-community-member-state h2 {
      font-size: 39px;
   }

   .dsc-community-benefits,
   .dsc-community-plans,
   .dsc-community-digital-tiers,
   .dsc-community-manifesto,
   .dsc-community-faq,
   .dsc-community-final {
      padding-top: 66px;
      padding-bottom: 76px;
   }

   .dsc-community-section-heading h2 {
      font-size: clamp(43px, 13vw, 59px);
   }

   .dsc-community-benefit-grid {
      margin-top: 48px;
   }

   .dsc-community-plan-grid {
      margin-top: 48px;
   }

   .dsc-community-plan {
      padding: 27px 22px 32px;
   }

   .dsc-community-plan.is-free {
      min-height: 0;
   }

   .dsc-community-plan h3 {
      font-size: 46px;
   }

   .dsc-community-print-layout {
      grid-template-columns: 1fr;
   }

   .dsc-community-cover {
      width: min(240px, 78%);
      margin: 5px auto 20px;
   }

   .dsc-community-plan > .dsc-community-button {
      width: 100%;
   }

   .dsc-community-tier-grid {
      grid-template-columns: 1fr;
      margin-top: 48px;
   }

   .dsc-community-manifesto h2 {
      font-size: clamp(48px, 14vw, 64px);
   }

   .dsc-community-faq-grid {
      margin-top: 48px;
   }

   .dsc-community-faq summary {
      padding: 21px 45px 21px 0;
      font-size: 25px;
   }

   .dsc-community-faq details p {
      padding-right: 0;
      font-size: 16px;
   }

   .dsc-community-final h2 {
      font-size: clamp(61px, 19vw, 87px);
   }

   .dsc-community-final .dsc-community-button {
      width: 100%;
   }
}

/* --------------------------------------------------------------------------
   Newsletter preferences
   -------------------------------------------------------------------------- */

.dsc-newsletter-choices {
   min-width: 0;
   margin: 28px 0 0;
   padding: 0;
   border: 0;
}

.dsc-newsletter-choices legend {
   margin: 0;
   padding: 0;
   color: var(--dsc-paper);
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: .12em;
   text-transform: uppercase;
}

.dsc-newsletter-choices > p {
   max-width: 520px;
   margin: 9px 0 0;
   color: #aaa;
   font-size: 13px;
   line-height: 1.42;
}

.dsc-newsletter-choice-grid {
   display: grid;
   gap: 10px;
   margin-top: 16px;
}

.dsc-newsletter-choice {
   display: grid;
   grid-template-columns: 21px minmax(0, 1fr);
   align-items: start;
   gap: 13px;
   margin: 0;
   padding: 15px 16px;
   border: 1px solid #555;
   background: #171717;
   cursor: pointer;
   transition: border-color .2s ease, background-color .2s ease;
}

.dsc-newsletter-choice:hover,
.dsc-newsletter-choice:focus-within,
.dsc-newsletter-choice:has(input:checked) {
   border-color: var(--dsc-yellow);
   background: #20200d;
}

.dsc-newsletter-choice input {
   width: 19px;
   height: 19px;
   margin: 2px 0 0;
   accent-color: var(--dsc-yellow);
}

.dsc-newsletter-choice strong,
.dsc-newsletter-choice small {
   display: block;
}

.dsc-newsletter-choice strong {
   color: var(--dsc-paper);
   font-family: var(--dsc-font-headline);
   font-size: 18px;
   font-weight: 600;
   line-height: 1.1;
}

.dsc-newsletter-choice small {
   margin-top: 5px;
   color: #aaa;
   font-size: 12px;
   line-height: 1.38;
}

/* --------------------------------------------------------------------------
   Landing — Newsletter Madrid
   -------------------------------------------------------------------------- */

.dsc-madrid-page {
   color: var(--dsc-ink);
   background: var(--dsc-paper);
}

.page-newsletter-madrid .global-footer,
.page-template .dsc-madrid-page + .global-footer {
   margin-top: 0;
}

.dsc-madrid-hero {
   display: grid;
   grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
   align-items: center;
   gap: clamp(50px, 8vw, 125px);
   min-height: 780px;
   padding-top: clamp(70px, 8vw, 115px);
   padding-bottom: clamp(76px, 9vw, 130px);
   color: var(--dsc-paper);
   background: var(--dsc-burgundy);
}

.dsc-madrid-hero h1 {
   max-width: 820px;
   margin: 26px 0 0;
   font-family: var(--dsc-font-display);
   font-size: clamp(70px, 8.2vw, 126px);
   font-weight: 700;
   line-height: .97;
   letter-spacing: -.045em;
   text-transform: uppercase;
}

.dsc-madrid-hero-copy > p {
   max-width: 680px;
   margin: 32px 0 0;
   color: #f1dfe4;
   font-family: var(--dsc-font-headline);
   font-size: clamp(22px, 2.2vw, 31px);
   font-weight: 500;
   line-height: 1.34;
}

.dsc-madrid-proof {
   display: flex;
   flex-wrap: wrap;
   gap: 10px 24px;
   margin-top: 42px;
   padding-top: 19px;
   border-top: 1px solid rgba(255, 255, 255, .38);
   font-family: var(--dsc-font-condensed);
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.dsc-madrid-proof span::before {
   margin-right: 8px;
   color: var(--dsc-yellow);
   content: "＋";
}

.dsc-madrid-signup {
   box-shadow: 14px 14px 0 var(--dsc-pale-pink);
}

.dsc-madrid-benefits {
   padding-top: clamp(78px, 10vw, 145px);
   padding-bottom: clamp(84px, 11vw, 155px);
   background: var(--dsc-cream);
}

.dsc-madrid-benefit-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
   margin-top: clamp(58px, 8vw, 100px);
}

.dsc-madrid-benefit-grid article {
   min-height: 330px;
   padding: clamp(28px, 3.4vw, 48px);
   border: 2px solid var(--dsc-ink);
   background: var(--dsc-paper);
}

.dsc-madrid-benefit-grid article:nth-child(2) {
   background: var(--dsc-yellow);
}

.dsc-madrid-benefit-grid article:nth-child(3) {
   background: var(--dsc-pale-pink);
}

.dsc-madrid-benefit-grid article > span {
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .12em;
}

.dsc-madrid-benefit-grid h3 {
   margin: 72px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(32px, 3vw, 44px);
   font-weight: 600;
   line-height: 1;
   letter-spacing: -.035em;
}

.dsc-madrid-benefit-grid p {
   margin: 21px 0 0;
   font-size: 16px;
   line-height: 1.5;
}

.dsc-madrid-manifesto {
   padding-top: clamp(82px, 10vw, 145px);
   padding-bottom: clamp(86px, 11vw, 155px);
   background: var(--dsc-pink);
}

.dsc-madrid-manifesto > span {
   display: block;
   font-family: var(--dsc-font-condensed);
   font-size: 12px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: .16em;
   text-transform: uppercase;
}

.dsc-madrid-manifesto h2 {
   max-width: 1120px;
   margin: 25px 0 0;
   font-family: var(--dsc-font-headline);
   font-size: clamp(54px, 7.4vw, 108px);
   font-weight: 600;
   line-height: .94;
   letter-spacing: -.05em;
}

.dsc-madrid-manifesto p {
   max-width: 720px;
   margin: 54px 0 0 auto;
   padding-top: 20px;
   border-top: 2px solid var(--dsc-ink);
   font-size: clamp(19px, 2vw, 25px);
   line-height: 1.48;
}

@media (max-width: 980px) {
   .dsc-madrid-hero {
      grid-template-columns: 1fr;
      gap: 58px;
   }

   .dsc-madrid-signup {
      width: min(650px, calc(100% - 14px));
   }
}

@media (max-width: 760px) {
   .dsc-madrid-benefit-grid {
      grid-template-columns: 1fr;
   }

   .dsc-madrid-benefit-grid article {
      min-height: 0;
   }

   .dsc-madrid-benefit-grid h3 {
      margin-top: 42px;
   }
}

@media (max-width: 620px) {
   .dsc-newsletter-choice {
      padding: 14px;
   }

   .dsc-madrid-hero {
      min-height: 0;
      padding-top: 50px;
      padding-bottom: 76px;
   }

   .dsc-madrid-hero h1 {
      font-size: clamp(62px, 19vw, 86px);
   }

   .dsc-madrid-hero-copy > p {
      font-size: 21px;
   }

   .dsc-madrid-proof {
      align-items: flex-start;
      flex-direction: column;
   }

   .dsc-madrid-signup {
      width: calc(100% - 10px);
      box-shadow: 10px 10px 0 var(--dsc-pale-pink);
   }

   .dsc-madrid-benefits,
   .dsc-madrid-manifesto {
      padding-top: 66px;
      padding-bottom: 76px;
   }

   .dsc-madrid-manifesto h2 {
      font-size: clamp(47px, 14vw, 63px);
   }

   .dsc-madrid-manifesto p {
      margin-top: 42px;
      font-size: 18px;
   }

}
