/*
Theme Name: GeneratePress Child
Template: generatepress
Author: EcescDesign
Version: 1.0
Description: Tema hijo personalizado para la web.
*/

:root {
    --dd-black: #0f0f13;
    --dd-text: #111111;
    --dd-muted: #777777;
    --dd-line: #bdbdbd;
    --dd-yellow: #0077c8;
    --dd-orange: #0077c8;
    --dd-white: #ffffff;
    --dd-page-pad: clamp(24px, 7.4vw, 96px);
    --dd-content: 1240px;
    --dd-global-header-height: 64px;
    --dd-nav-height: clamp(58px, 6.4vh, 72px);
    --dd-nav-lift: clamp(14px, 2vh, 24px);
    --dd-sans: "Inter", Arial, Helvetica, sans-serif;
    --dd-display: "Della Respira", Georgia, "Times New Roman", serif;
    --font-heading: "Della Respira", Georgia, "Times New Roman", serif;
    --font-body: "Inter", Arial, Helvetica, sans-serif;
    --font-card-title: Baskerville, "Baskerville Old Face", "Libre Baskerville", Georgia, "Times New Roman", serif;
    --type-heading-size: clamp(54px, 7.6vw, 100px);
    --type-section-title-size: clamp(48px, 7.2vw, 100px);
    --type-subtitle-size: clamp(32px, 4.6vw, 60px);
    --type-body-size: clamp(18px, 2.2vw, 30px);
    --type-card-title-size: clamp(25px, 2.55vw, 35px);
    --type-card-description-size: clamp(17px, 1.5vw, 20px);
    --type-meta-size: clamp(14px, 1.35vw, 20px);
}

* {
    box-sizing: border-box;
}

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

body {
    margin: 0;
    overflow-x: hidden;
    color: var(--dd-text);
    background: var(--dd-white);
    font-family: var(--dd-sans);
    font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6,
.dd-global-header__title,
.dd-site-title,
.dd-team-card h2,
.dd-footer h2,
.dd-footer__heading {
    font-family: var(--dd-display);
    font-weight: 400;
}

.site-header,
.main-navigation,
.menu-toggle,
.inside-navigation,
#site-navigation,
#primary-menu {
    display: none;
}

.dd-global-header {
    position: static;
    z-index: 40;
    width: 100%;
    min-height: var(--dd-global-header-height);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    padding: 14px 26px;
    border-top: 1px solid #8f8f8f;
    border-bottom: 1px solid #b8b8b8;
    background: #ffffff;
    color: #0f0f13;
    font-family: var(--dd-sans);
}

.dd-global-header a {
    color: inherit;
    text-decoration: none;
}

.dd-global-header__brand {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    line-height: 1;
}

.dd-global-header__mark {
    width: 158px;
    height: 48px;
    display: block;
    background: url('assets/img/upc-positiu-negre-interior-blanc - copia.png') left center / contain no-repeat;
}

.dd-global-header__title {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.1;
}

.dd-global-header__title-mark {
    width: 33px;
    height: 33px;
    flex: 0 0 auto;
    display: block;
    background: url('assets/img/logo.png') center / contain no-repeat;
}

.dd-global-header__contact {
    justify-self: end;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.1;
}

.dd-global-header a:hover,
.dd-global-header a:focus-visible {
    color: var(--dd-orange);
}

.dd-global-header a:focus-visible {
    outline: 2px solid var(--dd-orange);
    outline-offset: 4px;
}

.home .site-header,
.front-page .site-header,
.site-footer {
    display: none;
}

.front-page .site,
.front-page .site-content,
.front-page .content-area,
.front-page .site-main,
.front-page .inside-article,
.home .site,
.home .site-content,
.home .content-area,
.home .site-main,
.home .inside-article {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.dd-home {
    min-height: 100vh;
    background: var(--dd-white);
    color: var(--dd-text);
    font-family: var(--dd-sans);
}

.dd-home a {
    color: inherit;
}

.dd-container {
    width: min(100%, var(--dd-content));
    margin: 0 auto;
    padding-inline: var(--dd-page-pad);
}

.dd-site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    min-height: 58px;
    padding: 0 34px;
    border-bottom: 1px solid var(--dd-line);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
}

.dd-brand,
.dd-top-nav,
.dd-section-nav,
.dd-hero__logos {
    display: flex;
    align-items: center;
}

.dd-brand {
    gap: 12px;
    width: max-content;
    font-size: 21px;
    font-weight: 800;
    text-decoration: none;
}

.dd-brand__mark {
    width: 23px;
    height: 23px;
    background:
        radial-gradient(circle at 50% 50%, #111 0 18%, transparent 19%),
        radial-gradient(circle at 50% 0%, #111 0 14%, transparent 15%),
        radial-gradient(circle at 50% 100%, #111 0 14%, transparent 15%),
        radial-gradient(circle at 0% 50%, #111 0 14%, transparent 15%),
        radial-gradient(circle at 100% 50%, #111 0 14%, transparent 15%),
        radial-gradient(circle at 15% 15%, #111 0 11%, transparent 12%),
        radial-gradient(circle at 85% 15%, #111 0 11%, transparent 12%),
        radial-gradient(circle at 15% 85%, #111 0 11%, transparent 12%),
        radial-gradient(circle at 85% 85%, #111 0 11%, transparent 12%);
}

.dd-site-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
}

.dd-top-nav {
    justify-content: flex-end;
    gap: 28px;
    font-size: 13px;
    font-weight: 700;
}

.dd-top-nav a {
    text-decoration: none;
}

.dd-hero {
    width: 100%;
    min-height: calc(100svh - var(--dd-global-header-height) - var(--dd-nav-height));
    height: auto;
    margin: 0;
    position: relative;
    overflow: clip;
    background-image:
        linear-gradient(90deg, rgba(0, 0, 0, 0.46), rgba(0, 0, 0, 0.22)),
        linear-gradient(0deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.18)),
        var(--hero-image);
    background-size: cover;
    background-position: center;
    color: var(--dd-white);
}

.dd-announcement {
    position: relative;
    z-index: 2;
    min-height: 22px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--dd-yellow);
    color: var(--dd-white);
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    white-space: nowrap;
}

.dd-hero__overlay {
    position: relative;
    min-height: calc(100svh - var(--dd-global-header-height) - 22px - var(--dd-nav-height));
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(360px, 1.1fr);
    grid-template-rows: auto minmax(160px, 1fr) auto;
    align-items: start;
    padding: clamp(44px, 6vh, 66px) var(--dd-page-pad) clamp(26px, 4vh, 46px);
}

.dd-hero__logos {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    justify-content: flex-end;
    gap: clamp(28px, 4.6vw, 64px);
    max-width: none;
    color: rgba(255, 255, 255, 0.96);
    font-size: clamp(18px, 1.7vw, 24px);
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.dd-hero h1 {
    grid-column: 1;
    grid-row: 1 / 3;
    max-width: 520px;
    margin: 0;
    color: var(--dd-white);
    font-family: var(--dd-display);
    font-size: clamp(72px, 9.8vw, 118px);
    font-weight: 400;
    line-height: 0.86;
    letter-spacing: 0;
}

.dd-hero__aspects {
    grid-column: 1 / -1;
    grid-row: 3;
    width: min(70vw, 760px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.42);
    backdrop-filter: blur(8px);
}

.dd-hero__aspects a {
    min-height: clamp(70px, 10vh, 86px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-right: 1px solid rgba(255, 255, 255, 0.28);
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(19px, 2vw, 25px);
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.dd-hero__aspects a:last-child {
    border-right: 0;
}

.dd-hero__aspects span {
    font-size: clamp(17px, 1.7vw, 22px);
    line-height: 1;
}

.dd-hero__text {
    grid-column: 1 / -1;
    grid-row: 3;
    align-self: center;
    width: min(100%, 960px);
    margin: 0 auto;
    font-size: clamp(17px, 1.6vw, 22px);
    font-weight: 700;
    line-height: 1.16;
    text-align: center;
    text-wrap: balance;
    color: var(--dd-white);
}

.dd-section-nav {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    right: 0;
    left: 0;
    z-index: 100;
    min-height: var(--dd-nav-height);
    padding-inline: 18px;
    justify-content: center;
    gap: clamp(28px, 5vw, 72px);
    background: rgba(0, 0, 0, 0.26);
    font-size: clamp(13px, 0.95vw, 16px);
    font-weight: 800;
}

.dd-section-nav a {
    color: var(--dd-white);
    text-decoration: none;
    transition: color 180ms ease;
}

.dd-section-nav a:hover,
.dd-section-nav a:focus-visible {
    color: var(--dd-orange);
}

.dd-section-nav a:focus-visible {
    outline: 2px solid var(--dd-orange);
    outline-offset: 6px;
}

.dd-section-nav--internal {
    border-bottom: 1px solid #d8d8d8;
    background: rgba(0, 0, 0, 0.26);
    color: var(--dd-white);
    backdrop-filter: blur(12px);
}

.dd-section-nav--internal a {
    color: var(--dd-white);
}

.home .dd-hero,
.front-page .dd-hero {
    min-height: calc(100svh - var(--dd-global-header-height) - var(--dd-nav-height));
}

.home .dd-hero__overlay,
.front-page .dd-hero__overlay {
    min-height: calc(100svh - var(--dd-global-header-height) - 22px - var(--dd-nav-height));
}

.dd-section-nav.is-fixed {
    position: fixed;
    top: 0;
    right: auto;
    bottom: auto;
    z-index: 1000;
}

.dd-section-nav--internal.is-fixed {
    background: rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(12px);
}

.dd-sticky-menu-spacer {
    display: block;
    height: 0;
}

body.admin-bar .dd-section-nav.is-fixed {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .dd-section-nav.is-fixed {
        top: 46px;
    }
}

.dd-summary {
    position: relative;
    padding: clamp(82px, 8vw, 116px) 0 34px;
}

.js-reveal .dd-scroll-reveal {
    opacity: 1;
    transform: none;
}

.js-reveal .dd-scroll-reveal .dd-section-label,
.js-reveal .dd-scroll-reveal .dd-summary__grid,
.js-reveal .dd-scroll-reveal .dd-research__intro,
.js-reveal .dd-scroll-reveal .dd-research__panel {
    opacity: 0;
    transform: translateY(64px);
    transition: opacity 900ms ease, transform 900ms ease;
}

.js-reveal .dd-scroll-reveal .dd-summary__grid,
.js-reveal .dd-scroll-reveal .dd-research__panel {
    transition-delay: 140ms;
}

.js-reveal .dd-scroll-reveal.is-visible .dd-section-label,
.js-reveal .dd-scroll-reveal.is-visible .dd-summary__grid,
.js-reveal .dd-scroll-reveal.is-visible .dd-research__intro,
.js-reveal .dd-scroll-reveal.is-visible .dd-research__panel {
    opacity: 1;
    transform: translateY(0);
}

.dd-section-label {
    position: absolute;
    top: 6px;
    left: var(--dd-page-pad);
    color: var(--dd-black);
    font-family: var(--dd-display);
    font-size: clamp(58px, 8vw, 96px);
    line-height: 1;
    pointer-events: none;
}

.dd-summary__grid {
    width: min(100%, 1120px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    text-align: left;
}

.dd-summary h2,
.dd-research h2 {
    margin: 0;
    font-size: clamp(32px, 3.4vw, 46px);
    font-weight: 800;
    line-height: 1.05;
}

.dd-research h2 {
    text-wrap: balance;
}

.dd-summary h2 {
    white-space: nowrap;
}

.dd-copy {
    width: min(100%, 820px);
    margin: 0 auto;
}

.dd-copy p {
    margin: 0 0 10px;
    font-size: clamp(15px, 1vw, 18px);
    line-height: 1.28;
    text-align: justify;
}

.dd-image-strip {
    width: 100%;
    max-width: 1680px;
    margin: clamp(10px, 2vw, 26px) auto 108px;
    padding-inline: clamp(0px, 1.2vw, 18px);
    display: grid;
    grid-template-columns: 1.25fr 0.82fr 1.35fr 1.32fr;
    grid-template-rows: 82px 156px 140px;
    gap: 0;
    align-items: end;
}

.dd-image-strip figure {
    height: 238px;
    margin: 0;
    overflow: hidden;
    position: relative;
}

.dd-image-strip figure:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / span 2;
    z-index: 2;
}

.dd-image-strip figure:nth-child(2) {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin-left: -22px;
    z-index: 3;
}

.dd-image-strip figure:nth-child(3) {
    grid-column: 3;
    grid-row: 2 / span 2;
    height: 310px;
    margin-left: -34px;
    z-index: 4;
}

.dd-image-strip figure:nth-child(4) {
    grid-column: 4;
    grid-row: 1 / span 2;
    height: 254px;
    margin-left: -20px;
    z-index: 2;
}

.dd-image-strip img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.dd-research {
    padding: 18px 0 132px;
}

.dd-research__inner {
    max-width: 1120px;
}

.dd-research__intro {
    position: relative;
    padding-right: 112px;
}

.dd-research__intro p {
    width: min(100%, 860px);
    margin: 34px auto 0;
    color: var(--dd-muted);
    font-size: clamp(18px, 1.25vw, 22px);
    line-height: 1.55;
    text-align: center;
}

.dd-research__panel {
    width: min(100%, 880px);
    margin: 54px auto 0;
    display: grid;
    justify-items: center;
    gap: 18px;
}

.dd-research__card {
    width: 100%;
    display: grid;
    justify-items: center;
}

.dd-research__card button {
    width: min(100%, 390px);
    min-height: 92px;
    border: 0;
    border-radius: 8px;
    background: var(--dd-white);
    color: var(--dd-text);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.1);
    font: 800 clamp(18px, 1.25vw, 22px)/1.2 var(--dd-sans);
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.dd-research__card button:hover,
.dd-research__card button:focus-visible,
.dd-research__card.is-active button {
    background: var(--dd-orange);
    color: var(--dd-white);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
}

.dd-research__card button:focus-visible {
    outline: 3px solid var(--dd-yellow);
    outline-offset: 4px;
}

.dd-research__card.is-active button {
    transform: translateY(-2px);
}

.dd-research__feature {
    width: 100%;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 36px;
    align-items: center;
    transform: translateY(-8px);
    transition: max-height 520ms ease, margin-top 520ms ease, opacity 360ms ease, transform 520ms ease;
}

.dd-research__card.is-active .dd-research__feature {
    max-height: 520px;
    margin-top: 30px;
    opacity: 1;
    transform: translateY(0);
}

.dd-gradient {
    display: block;
    aspect-ratio: 1.5;
    border-radius: 6px;
    background: linear-gradient(165deg, #ff6e7f 0%, #ff9f43 48%, #fff200 100%);
}

.dd-gradient--digital {
    background: linear-gradient(165deg, #10b3ff 0%, #37d7a8 48%, #fff200 100%);
}

.dd-gradient--architecture {
    background: linear-gradient(165deg, #111111 0%, #8d8d94 48%, #fff200 100%);
}

.dd-gradient--materiality {
    background: linear-gradient(165deg, #ff4d8d 0%, #6f63ff 48%, #19d3ff 100%);
}

.dd-research__feature ul {
    margin: 0 0 22px;
    padding-left: 22px;
    color: #777777;
    font-size: clamp(18px, 1vw, 18px);
    line-height: 1.55;
}

.page-template-page-equip-academic .site-header,
.page-template-page-noticies .site-header,
.page-template-page-projectes-i-publicacions .site-header,
.page-template-page-grups-de-recerca .site-header,
.page-template-page-avis-legal .site-header,
.page-template-page-accessibilitat .site-header,
.single-noticies .site-header,
.single-projectes .site-header,
.single-publicacions .site-header,
.page-template-page-equip-academic .site-footer,
.page-template-page-noticies .site-footer,
.page-template-page-projectes-i-publicacions .site-footer,
.page-template-page-grups-de-recerca .site-footer,
.page-template-page-avis-legal .site-footer,
.page-template-page-accessibilitat .site-footer,
.single-noticies .site-footer,
.single-projectes .site-footer,
.single-publicacions .site-footer {
    display: none;
}

.page-template-page-equip-academic .site,
.page-template-page-noticies .site,
.page-template-page-projectes-i-publicacions .site,
.page-template-page-grups-de-recerca .site,
.page-template-page-avis-legal .site,
.page-template-page-accessibilitat .site,
.single-noticies .site,
.single-projectes .site,
.single-publicacions .site,
.page-template-page-equip-academic .site-content,
.page-template-page-noticies .site-content,
.page-template-page-projectes-i-publicacions .site-content,
.page-template-page-grups-de-recerca .site-content,
.page-template-page-avis-legal .site-content,
.page-template-page-accessibilitat .site-content,
.single-noticies .site-content,
.single-projectes .site-content,
.single-publicacions .site-content,
.page-template-page-equip-academic .content-area,
.page-template-page-noticies .content-area,
.page-template-page-projectes-i-publicacions .content-area,
.page-template-page-grups-de-recerca .content-area,
.page-template-page-avis-legal .content-area,
.page-template-page-accessibilitat .content-area,
.single-noticies .content-area,
.single-projectes .content-area,
.single-publicacions .content-area,
.page-template-page-equip-academic .site-main,
.page-template-page-noticies .site-main,
.page-template-page-projectes-i-publicacions .site-main,
.page-template-page-grups-de-recerca .site-main,
.page-template-page-avis-legal .site-main,
.page-template-page-accessibilitat .site-main,
.single-noticies .site-main,
.single-projectes .site-main,
.single-publicacions .site-main,
.page-template-page-equip-academic .inside-article {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.page-template-page-projectes-i-publicacions .inside-article {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.page-template-page-noticies .inside-article {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.page-template-page-noticies-php .site-header,
.page-template-page-noticies-php .site-footer {
    display: none;
}

.page-template-page-noticies-php .site,
.page-template-page-noticies-php .site-content,
.page-template-page-noticies-php .content-area,
.page-template-page-noticies-php .site-main,
.page-template-page-noticies-php .inside-article {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.page-template-page-grups-de-recerca .inside-article {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.single-noticies .inside-article,
.single-projectes .inside-article,
.single-publicacions .inside-article {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.dd-team-page {
    min-height: 100vh;
    background: var(--dd-white);
    color: var(--dd-text);
    font-family: var(--dd-sans);
}

.dd-news-page,
.dd-projects-page,
.dd-research-groups-page,
.dd-legal-page,
.single-news {
    min-height: 100vh;
    background: var(--dd-white);
    color: var(--dd-text);
    font-family: var(--dd-sans);
}

.dd-legal-page {
    padding: clamp(44px, 7vw, 96px) 34px clamp(76px, 9vw, 128px);
}

.dd-legal-page__article {
    width: min(100%, 920px);
    margin: 0 auto;
}

.dd-legal-page__header {
    margin-bottom: clamp(34px, 5vw, 60px);
}

.dd-legal-page__header p {
    margin: 0 0 12px;
    color: #777777;
    font-weight: 900;
    text-transform: uppercase;
}

.dd-legal-page__header h1 {
    margin: 0;
    color: var(--dd-black);
    font-size: clamp(42px, 5.5vw, 74px);
    font-weight: 900;
    line-height: 0.98;
}

.dd-legal-page__content {
    width: min(100%, 760px);
    color: var(--dd-text);
}

.dd-legal-page__content h2 {
    margin: clamp(32px, 4vw, 48px) 0 12px;
    color: var(--dd-black);
    font-family: var(--font-heading);
    font-size: clamp(26px, 2.6vw, 38px);
    font-weight: 400;
    line-height: 1.05;
}

.dd-legal-page__content p,
.dd-legal-page__content li {
    color: #333333;
    font-size: clamp(16px, 1.08vw, 18px);
    line-height: 1.62;
}

.dd-legal-page__content ul,
.dd-legal-page__content ol {
    margin: 0 0 24px;
    padding-left: 1.25em;
}

.dd-inner-nav {
    min-height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(42px, 6.6vw, 98px);
    padding: 0 28px;
    background: var(--dd-white);
    font-size: 14px;
    font-weight: 700;
}

.dd-inner-nav a,
.dd-role-nav a {
    color: var(--dd-text);
    text-decoration: none;
    transition: color 180ms ease;
}

.dd-inner-nav a:hover,
.dd-inner-nav a:focus-visible,
.dd-inner-nav a.is-current,
.dd-role-nav a:hover,
.dd-role-nav a:focus-visible,
.dd-role-nav a.is-current,
.dd-role-nav a.is-active {
    color: var(--dd-orange);
}

.dd-inner-nav a.is-current::before {
    content: "";
    width: 5px;
    height: 5px;
    display: inline-block;
    margin: 0 18px 2px 0;
    border-radius: 50%;
    background: currentColor;
}

.dd-inner-nav a:focus-visible,
.dd-role-nav a:focus-visible {
    outline: 2px solid var(--dd-orange);
    outline-offset: 5px;
}

.dd-team {
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: 30px 34px 96px;
}

.dd-team__title-row {
    display: block;
}

.dd-team h1 {
    margin: 0;
    color: var(--dd-black);
    font-size: clamp(38px, 4.4vw, 58px);
    font-weight: 900;
    line-height: 1.02;
}

.dd-role-nav {
    width: min(100%, 1120px);
    margin: 34px auto 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    font-family: var(--dd-sans);
}

.dd-group-filter-nav {
    width: min(100%, 1120px);
    margin: 34px auto 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    font-family: var(--dd-sans);
}

.dd-group-filter-nav + .dd-role-nav {
    margin-top: 14px;
}

.dd-group-filter-nav a,
.dd-role-nav a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid #d6d6d6;
    border-radius: 999px;
    background: var(--dd-white);
    color: #111111;
    font: 900 12px/1 var(--dd-sans);
    text-decoration: none;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.dd-group-filter-nav a:hover,
.dd-group-filter-nav a:focus-visible,
.dd-group-filter-nav a.is-active {
    border-color: var(--dd-orange);
    background: var(--dd-orange);
    color: var(--dd-white);
}

.dd-group-filter-nav a:focus-visible {
    outline: 3px solid var(--dd-yellow);
    outline-offset: 3px;
}

.dd-team__grid {
    margin: 60px auto 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(64px, 8vw, 126px);
    row-gap: 58px;
}

.dd-team-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    align-items: center;
    gap: 28px;
}

.dd-team-card.is-hidden {
    display: none;
}

.dd-team-avatar {
    width: 108px;
    aspect-ratio: 1;
    color: var(--dd-text);
}

.dd-team-avatar img,
.dd-team-avatar__svg {
    width: 100%;
    height: 100%;
    display: block;
}

.dd-team-avatar img {
    border-radius: 50%;
    object-fit: cover;
}

.dd-team-card h2 {
    margin: 0 0 14px;
    color: var(--dd-black);
    font-size: 19px;
    font-weight: 900;
    line-height: 1.1;
}

.dd-team-card p {
    margin: 0 0 8px;
    color: #777777;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.3;
}

.dd-team-card__bio {
    color: #777777;
}

.dd-team-card__groups,
.dd-team-card__roles {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 8px;
}

.dd-team-card__groups span,
.dd-team-card__roles span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border: 1px solid #d6d6d6;
    border-radius: 999px;
    color: #777777;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.dd-team-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 8px;
}

.dd-team-card__links a {
    color: var(--dd-text);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.dd-team-card__links a:hover,
.dd-team-card__links a:focus-visible {
    color: var(--dd-orange);
}

.dd-team-card__links a:focus-visible {
    outline: 2px solid var(--dd-orange);
    outline-offset: 3px;
}

.dd-team__empty {
    grid-column: 1 / -1;
    margin: 0;
    color: #777777;
    font-size: 15px;
    font-weight: 700;
}

.dd-news-hero {
    width: min(100%, 1240px);
    margin: 0 auto;
    padding: 24px 34px 58px;
}

.dd-news-hero__heading {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 24px;
    margin-bottom: 30px;
}

.dd-news-hero__heading p {
    grid-column: 2;
    margin: 0 0 8px;
    color: #777777;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.dd-news-hero h1 {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: var(--dd-black);
    font-size: clamp(48px, 5vw, 72px);
    font-weight: 900;
    line-height: 0.98;
}

.dd-news-archive-heading {
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: clamp(34px, 5vw, 68px) 34px clamp(22px, 3vw, 38px);
}

.dd-news-archive-heading h1 {
    margin: 0;
    color: var(--dd-black);
    font-size: clamp(48px, 5vw, 72px);
    font-weight: 900;
    line-height: 0.98;
}

.dd-news-spotlight {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
    gap: clamp(20px, 2.8vw, 40px);
    align-items: stretch;
}

.dd-news-main {
    min-height: clamp(300px, 27vw, 370px);
    display: grid;
    grid-template-columns: minmax(380px, 1.35fr) minmax(0, 0.9fr);
    overflow: hidden;
    border-radius: 8px;
    background: #f4f4f4;
    box-shadow: 0 28px 84px rgba(0, 0, 0, 0.08);
}

.dd-news-main__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(22px, 2.6vw, 34px);
    background: var(--dd-white);
}

.dd-news-meta {
    margin: 0 0 18px;
    color: #777777;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.dd-news-main h2 {
    display: -webkit-box;
    margin: 0 0 16px;
    overflow: hidden;
    color: #111111;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 2.35vw, 38px);
    font-weight: 900;
    line-height: 1.02;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.dd-news-main__copy > p:not(.dd-news-meta) {
    width: min(100%, 560px);
    display: -webkit-box;
    margin: 0 0 18px;
    overflow: hidden;
    color: #777777;
    font-size: clamp(14px, 0.95vw, 16px);
    font-weight: 600;
    line-height: 1.36;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.dd-news-main a {
    width: max-content;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    border-bottom: 3px solid #111111;
    color: #111111;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

.dd-news-main figure {
    margin: 0;
    min-width: 0;
    height: 100%;
}

.dd-news-main img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.dd-news-main img[hidden] {
    display: none;
}

.dd-news-main [data-news-main-placeholder],
.dd-news-card__placeholder,
.dd-project-card__placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;
    display: block;
    background:
        linear-gradient(135deg, rgba(255, 242, 0, 0.28), transparent 42%),
        linear-gradient(145deg, #efefef 0%, #d9d9d9 100%);
}

.dd-news-main [data-news-main-placeholder][hidden] {
    display: none;
}

.featured-projectes {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
    gap: clamp(20px, 2.8vw, 40px);
    align-items: stretch;
}

.projecte-main {
    min-height: clamp(300px, 27vw, 370px);
    display: grid;
    grid-template-columns: minmax(380px, 1.35fr) minmax(0, 0.9fr);
    overflow: hidden;
    border-radius: 8px;
    background: #f4f4f4;
    box-shadow: 0 28px 84px rgba(0, 0, 0, 0.08);
}

.projecte-main__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(22px, 2.6vw, 34px);
    background: var(--dd-white);
}

.projecte-meta {
    margin: 0 0 18px;
    color: #777777;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.projecte-meta[hidden] {
    display: none;
}

.projecte-main h2 {
    display: -webkit-box;
    margin: 0 0 16px;
    overflow: hidden;
    color: #111111;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 2.35vw, 38px);
    font-weight: 900;
    line-height: 1.02;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.projecte-main__copy > p:not(.projecte-meta) {
    width: min(100%, 560px);
    display: -webkit-box;
    margin: 0 0 18px;
    overflow: hidden;
    color: #777777;
    font-size: clamp(14px, 0.95vw, 16px);
    font-weight: 600;
    line-height: 1.36;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.projecte-main__copy > p:not(.projecte-meta)[hidden] {
    display: none;
}

.projecte-main a {
    width: max-content;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    border-bottom: 3px solid #111111;
    color: #111111;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

.projecte-main figure {
    margin: 0;
    min-width: 0;
    height: 100%;
}

.projecte-main img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.projecte-main img[hidden] {
    display: none;
}

.projecte-main [data-project-main-placeholder] {
    width: 100%;
    height: 100%;
    min-height: inherit;
    display: block;
    background:
        linear-gradient(135deg, rgba(255, 242, 0, 0.28), transparent 42%),
        linear-gradient(145deg, #efefef 0%, #d9d9d9 100%);
}

.projecte-main [data-project-main-placeholder][hidden] {
    display: none;
}

.projecte-rail {
    display: grid;
    grid-auto-rows: minmax(0, 1fr);
    align-content: stretch;
    gap: 10px;
}

.projecte-rail button {
    min-height: 0;
    padding: 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    border: 0;
    border-left: 4px solid #d8d8d8;
    border-radius: 0 8px 8px 0;
    background: #f1f1f1;
    color: #111111;
    font: 900 13px/1.14 var(--dd-sans);
    text-align: left;
    cursor: pointer;
    transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.projecte-rail button span {
    display: block;
    margin-bottom: 8px;
    color: #777777;
    font-size: 11px;
    line-height: 1.2;
}

.projecte-rail button:hover,
.projecte-rail button:focus-visible,
.projecte-rail button.is-active {
    border-color: var(--dd-orange);
    background: var(--dd-orange);
    color: var(--dd-white);
    transform: translateX(-6px);
}

.projecte-rail button:focus-visible {
    outline: 3px solid var(--dd-yellow);
    outline-offset: 3px;
}

.dd-news-rail {
    display: grid;
    grid-auto-rows: minmax(0, 1fr);
    align-content: stretch;
    gap: 10px;
}

.dd-news-rail button {
    min-height: 0;
    padding: 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    border: 0;
    border-left: 4px solid #d8d8d8;
    border-radius: 0 8px 8px 0;
    background: #f1f1f1;
    color: #111111;
    font: 900 13px/1.14 var(--dd-sans);
    text-align: left;
    cursor: pointer;
    transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.dd-news-rail button span {
    display: block;
    margin-bottom: 8px;
    color: #777777;
    font-size: 11px;
    line-height: 1;
}

.dd-news-rail button:hover,
.dd-news-rail button:focus-visible,
.dd-news-rail button.is-active {
    border-color: var(--dd-orange);
    background: var(--dd-orange);
    color: var(--dd-white);
    transform: translateX(-6px);
}

.dd-news-rail button:focus-visible {
    outline: 3px solid var(--dd-yellow);
    outline-offset: 3px;
}

.dd-news-feed {
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: 0 34px 108px;
}

.dd-news-feed__head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 34px;
}

.dd-news-feed h2 {
    margin: 0;
    color: #111111;
    font-size: clamp(34px, 3.4vw, 50px);
    font-weight: 900;
    line-height: 1;
}

.dd-news-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
}

.dd-news-filters a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid #d6d6d6;
    border-radius: 999px;
    background: var(--dd-white);
    color: #111111;
    font: 900 12px/1 var(--dd-sans);
    text-decoration: none;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.dd-news-filters a:hover,
.dd-news-filters a:focus-visible,
.dd-news-filters a.is-active,
.dd-role-nav a:hover,
.dd-role-nav a:focus-visible,
.dd-role-nav a.is-active {
    border-color: var(--dd-orange);
    background: var(--dd-orange);
    color: var(--dd-white);
}

.dd-news-filters a:focus-visible,
.dd-role-nav a:focus-visible {
    outline: 3px solid var(--dd-yellow);
    outline-offset: 3px;
}

.dd-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.dd-news-card {
    min-width: 0;
    transition: opacity 220ms ease, transform 220ms ease;
}

.dd-news-card--wide {
    grid-column: span 2;
}

.dd-news-card.is-hidden {
    display: none;
}

.dd-news-card a {
    min-height: 100%;
    display: grid;
    grid-template-rows: 210px 1fr;
    overflow: hidden;
    border-radius: 8px;
    background: #f4f4f4;
    color: inherit;
    text-decoration: none;
}

.dd-news-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: grayscale(25%);
    transition: filter 220ms ease, transform 420ms ease;
}

.dd-news-card__placeholder {
    min-height: 210px;
}

.dd-news-card--wide .dd-news-card__placeholder {
    min-height: 260px;
}

.dd-news-card--wide a {
    grid-template-rows: 260px 1fr;
}

.dd-news-card div {
    min-width: 0;
    padding: 22px;
    overflow: hidden;
}

.dd-news-card h3 {
    margin: 0;
    color: #111111;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.08;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.dd-news-card__types {
    color: #777777;
}

.dd-news-card .dd-news-meta,
.dd-news-card div > p:not(.dd-news-meta) {
    max-width: 100%;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.dd-news-card div > p:not(.dd-news-meta) {
    display: -webkit-box;
    margin: 10px 0 0;
    color: #111111;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dd-news-empty {
    grid-column: 1 / -1;
    margin: 10px 0 0;
    color: #777777;
    font-size: 15px;
    font-weight: 800;
}

.dd-news-card a:hover img,
.dd-news-card a:focus-visible img {
    filter: grayscale(0);
    transform: scale(1.04);
}

.single-news {
    padding: 0;
    overflow-x: hidden;
    background: #ffffff;
}

.single-news__article {
    width: min(100%, 1440px);
    max-width: 100%;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 58px) 34px clamp(74px, 9vw, 128px);
}

.single-news__inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.single-news__back {
    width: max-content;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: clamp(28px, 4vw, 50px);
    border-bottom: 2px solid #111111;
    color: #111111;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.single-news__back::before {
    content: "\2039";
    font-size: 22px;
    line-height: 0.8;
}

.single-news__back:hover,
.single-news__back:focus-visible {
    color: var(--dd-orange);
    border-color: var(--dd-orange);
}

.single-news__back:focus-visible {
    outline: 3px solid var(--dd-yellow);
    outline-offset: 5px;
}

.single-news__header {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.5fr);
    grid-template-rows: auto 1fr auto;
    column-gap: clamp(32px, 7vw, 112px);
    row-gap: clamp(18px, 3vw, 34px);
    margin-bottom: clamp(28px, 4vw, 54px);
    padding-bottom: clamp(24px, 3.5vw, 42px);
    border-bottom: 1px solid #d8d8d8;
}

.single-news__kicker,
.single-news__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #777777;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.single-news__kicker {
    grid-column: 1 / -1;
    margin: 0;
}

.single-news__headline {
    align-self: end;
}

.single-news__label {
    margin: 0 0 clamp(12px, 2vw, 20px);
    color: #777777;
    font-weight: 800;
    text-transform: uppercase;
}

.single-news__title {
    width: min(100%, 920px);
    margin: 0;
    color: var(--dd-black);
    font-size: clamp(40px, 5vw, 72px);
    line-height: 1;
    overflow-wrap: anywhere;
}

.single-news__excerpt {
    align-self: end;
    margin: 0;
    padding: clamp(16px, 2vw, 24px) 0 0 clamp(16px, 2vw, 24px);
    border-left: 4px solid var(--dd-orange);
    color: #1d1d1d;
    font-family: var(--font-card-title);
    font-size: clamp(19px, 1.8vw, 26px);
    font-weight: 400;
    line-height: 1.15;
}

.single-news__meta {
    grid-column: 1 / -1;
    margin: 0;
}

.single-news__image {
    width: 100%;
    aspect-ratio: 16 / 7;
    margin: 0 0 clamp(30px, 5vw, 58px);
    overflow: hidden;
    background: #f4f4f4;
}

.single-news__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.single-news__image figcaption {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.single-news__reader {
    width: min(100%, 1080px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 190px minmax(0, 760px);
    gap: clamp(34px, 5vw, 70px);
    align-items: start;
}

.single-news__aside {
    position: sticky;
    top: 22px;
    padding-top: 10px;
    border-top: 4px solid #111111;
    color: #777777;
}

.single-news__aside p,
.single-news__aside span,
.single-news__aside time {
    display: block;
    margin: 0;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.single-news__aside p {
    margin-bottom: 18px;
    color: #111111;
}

.single-news__aside span {
    margin-bottom: 8px;
}

.single-news__content {
    width: 100%;
    max-width: 100%;
    color: #222222;
    font-size: clamp(16px, 1.05vw, 18px);
    font-weight: 500;
    line-height: 1.62;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.single-news__content > * {
    max-width: 100%;
    margin-top: 0;
}

.single-news__content img,
.single-news__content video,
.single-news__content iframe,
.single-news__content embed,
.single-news__content object {
    max-width: 100%;
}

.single-news__content img,
.single-news__content video {
    height: auto;
}

.single-news__content figure {
    margin-right: 0;
    margin-left: 0;
}

.single-news__content table,
.single-news__content pre {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

.single-news__content pre {
    white-space: pre-wrap;
}

.single-news__content p,
.single-news__content ul,
.single-news__content ol,
.single-news__content blockquote {
    margin-bottom: 1.35em;
}

.single-news__content h2,
.single-news__content h3 {
    margin: 1.9em 0 0.65em;
    color: var(--dd-black);
    line-height: 1.02;
}

.single-news__content h2 {
    font-size: clamp(28px, 3vw, 44px);
}

.single-news__content h3 {
    font-size: clamp(21px, 1.7vw, 28px);
}

.single-news__content > p:first-child {
    font-size: inherit;
    line-height: inherit;
}

.single-news__content blockquote {
    margin: clamp(26px, 3.5vw, 38px) 0;
    padding: 0 0 0 clamp(16px, 2.4vw, 26px);
    border-left: 4px solid var(--dd-orange);
    color: #111111;
    font-family: var(--font-card-title);
    font-size: clamp(21px, 2vw, 30px);
    line-height: 1.2;
}

.single-news__content ul,
.single-news__content ol {
    padding-left: 1.2em;
}

.single-news__content li + li {
    margin-top: 0.45em;
}

.single-news__content a {
    color: #111111;
    font-weight: 900;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.single-news__content a:hover,
.single-news__content a:focus-visible {
    color: var(--dd-orange);
}

.single-news__navigation {
    width: min(100%, 1080px);
    margin: clamp(42px, 6vw, 72px) auto 0;
    padding-top: 26px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    border-top: 1px solid #d8d8d8;
}

.single-news__nav-link {
    min-height: 86px;
    padding: clamp(14px, 1.8vw, 20px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    border-left: 4px solid #111111;
    border-radius: 0 8px 8px 0;
    background: #f4f4f4;
    color: #111111;
    font-size: clamp(20px, 2vw, 28px);
    line-height: 1.18;
    text-decoration: none;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.single-news__nav-link span {
    color: #777777;
    font-size: 10px;
    line-height: 1;
    text-transform: uppercase;
}

.single-news__nav-link--next {
    text-align: right;
    border-right: 4px solid #111111;
    border-left: 0;
    border-radius: 8px 0 0 8px;
}

.single-news__nav-link:hover,
.single-news__nav-link:focus-visible {
    border-color: var(--dd-orange);
    background: var(--dd-orange);
    color: var(--dd-white);
    transform: translateY(-3px);
}

.single-news__nav-link:hover span,
.single-news__nav-link:focus-visible span {
    color: rgba(255, 255, 255, 0.72);
}

.single-news__nav-link:focus-visible {
    outline: 3px solid var(--dd-yellow);
    outline-offset: 4px;
}

.dd-projects {
    width: min(100%, 1480px);
    margin: 0 auto;
    padding: 30px 0 clamp(42px, 5vh, 62px);
}

.dd-projects__heading {
    width: min(100%, 1120px);
    margin: 0 auto clamp(28px, 4vw, 48px);
    padding: 0 34px;
}

.dd-projects h1 {
    margin: 0;
    color: var(--dd-black);
    font-size: clamp(42px, 4.4vw, 62px);
    font-weight: 900;
    line-height: 0.98;
}

.dd-projects__section-heading {
    width: min(100%, 1120px);
    margin: clamp(32px, 4vw, 54px) auto 0;
    padding: 0 34px;
}

.dd-projects__section-heading h2 {
    margin: 0;
    color: var(--dd-black);
    font-size: clamp(34px, 3.4vw, 48px);
    font-weight: 900;
    line-height: 1;
}

.dd-projects__section-heading h1,
.dd-publications h1 {
    margin: 0;
    color: var(--dd-black);
}

.dd-publications h1 {
    margin-bottom: 32px;
}

.dd-projects__mosaic {
    width: min(calc(100% - 48px), 1360px);
    margin: clamp(24px, 3.2vh, 36px) auto 0;
    padding-block: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: clamp(210px, 18vw, 280px);
    column-gap: clamp(18px, 2.4vw, 30px);
    row-gap: clamp(30px, 3.4vh, 44px);
    align-items: center;
}

.dd-project-card {
    min-width: 0;
    height: 100%;
    opacity: 0.46;
    transform: scale(0.92);
    transition: opacity 520ms ease, transform 620ms ease;
}

.dd-project-card--featured {
    opacity: 1;
    filter: none;
    z-index: 2;
    transform: scale(1.14);
}

.dd-project-card a {
    position: relative;
    height: 100%;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    background: #e8e8e8;
    color: var(--dd-text);
    text-decoration: none;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.06);
    transition: width 360ms ease, box-shadow 360ms ease, transform 360ms ease, background 360ms ease;
}

.dd-project-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: grayscale(34%);
    transition: transform 420ms ease, filter 420ms ease, opacity 420ms ease;
}

.dd-project-card__placeholder {
    min-height: 100%;
}

.dd-project-card:not(.dd-project-card--featured) img {
    opacity: 0.72;
}

.dd-project-card--featured a {
    box-shadow: 0 24px 62px rgba(0, 0, 0, 0.13);
}

.dd-project-card--featured img {
    filter: saturate(1.14) contrast(1.03);
}

.dd-project-card__label {
    position: absolute;
    right: 18px;
    bottom: 16px;
    left: 18px;
    opacity: 0;
    color: var(--dd-white);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.15;
    text-shadow: 0 1px 18px rgba(0, 0, 0, 0.52);
    transform: translateY(10px);
    transition: opacity 240ms ease, transform 240ms ease;
}

.dd-project-card__info {
    position: relative;
    min-width: 0;
    height: 100%;
    display: none;
    flex-direction: column;
    justify-content: flex-start;
    padding: clamp(18px, 2vw, 34px);
    background: var(--dd-white);
    color: var(--dd-text);
}

.dd-project-card__author {
    position: relative;
    margin: 0 0 clamp(14px, 1.6vw, 24px);
    padding-left: 22px;
    color: #777777;
    font-size: clamp(10px, 0.8vw, 13px);
    font-weight: 800;
    line-height: 1.2;
}

.dd-project-card__author::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 12px;
    height: 12px;
    border: 3px solid #111111;
    border-radius: 50%;
    transform: translateY(-50%);
}

.dd-project-card__info h2 {
    margin: 0 0 12px;
    color: #111111;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(17px, 1.72vw, 29px);
    font-weight: 800;
    line-height: 1.05;
}

.dd-project-card__category {
    margin: 0 0 clamp(16px, 1.7vw, 28px);
    color: #777777;
    font-size: clamp(8px, 0.72vw, 11px);
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.dd-project-card__excerpt {
    width: min(100%, 310px);
    margin: 0;
    color: #777777;
    font-size: clamp(9px, 0.68vw, 11px);
    font-weight: 600;
    line-height: 1.32;
}

.dd-project-card__button {
    width: max-content;
    margin-top: auto;
    padding-top: 18px;
    display: inline-flex;
    align-items: center;
    border-bottom: 2px solid #111111;
    color: #111111;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
}

.dd-project-card__arrow {
    position: absolute;
    right: 22px;
    top: 50%;
    color: #111111;
    font-size: clamp(38px, 3vw, 52px);
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
}

.dd-project-card:hover,
.dd-project-card:focus-within {
    opacity: 1;
    z-index: 8;
    transform: scale(1.18);
}

.dd-project-card:hover a,
.dd-project-card:focus-within a {
    width: min(740px, 78vw);
    min-height: clamp(380px, 30vw, 500px);
    display: grid;
    grid-template-columns: minmax(230px, 0.92fr) minmax(0, 1.08fr);
    background: var(--dd-white);
    box-shadow: 0 30px 72px rgba(0, 0, 0, 0.14);
}

.dd-project-card:nth-child(3n + 1):hover a,
.dd-project-card:nth-child(3n + 1):focus-within a {
    transform: translateX(0);
}

.dd-project-card:nth-child(3n + 2):hover a,
.dd-project-card:nth-child(3n + 2):focus-within a {
    transform: translateX(-25%);
}

.dd-project-card:nth-child(3n):hover a,
.dd-project-card:nth-child(3n):focus-within a {
    transform: translateX(calc(-100% + 100% / 1.88));
}

.dd-project-card:hover .dd-project-card__info,
.dd-project-card:focus-within .dd-project-card__info {
    display: flex;
    min-height: clamp(380px, 30vw, 500px);
}

.dd-project-card:hover .dd-project-card__label,
.dd-project-card:focus-within .dd-project-card__label {
    opacity: 0;
}

.dd-project-card a:hover img,
.dd-project-card a:focus-visible img {
    filter: saturate(1.08) contrast(1.04);
    opacity: 1;
    transform: none;
}

.dd-project-card a:hover .dd-project-card__label,
.dd-project-card a:focus-visible .dd-project-card__label {
    opacity: 1;
    transform: translateY(0);
}

.dd-project-card:hover a .dd-project-card__label,
.dd-project-card:focus-within a .dd-project-card__label {
    opacity: 0;
}

.dd-project-card a:focus-visible {
    outline: 3px solid var(--dd-orange);
    outline-offset: 5px;
}

.dd-publications {
    --type-card-title-size: clamp(18px, 1.8vw, 25px);
    --type-card-description-size: clamp(14px, 1.05vw, 16px);
    --type-meta-size: clamp(11px, 0.85vw, 13px);
    padding: clamp(34px, 5vh, 72px) 34px 104px;
}

.dd-publications__inner {
    width: min(100%, 1120px);
    margin: 0 auto;
}

.dd-publications h2 {
    margin: 0 0 32px;
    color: var(--dd-black);
    font-size: clamp(34px, 3.4vw, 48px);
    font-weight: 900;
    line-height: 1;
}

.dd-publications__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: #d6d6d6;
}

.dd-publication-item {
    min-height: 126px;
    padding: 20px 22px;
    background: var(--dd-white);
}

.dd-publication-item__image {
    height: 118px;
    margin: -20px -22px 18px;
    display: block;
    overflow: hidden;
    background: #f4f4f4;
}

.dd-publication-item__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: grayscale(26%);
    transition: filter 220ms ease, transform 420ms ease;
}

.dd-publication-item__image:hover img,
.dd-publication-item__image:focus-visible img {
    filter: grayscale(0);
    transform: scale(1.04);
}

.dd-publication-item h3 {
    margin: 0 0 14px;
    color: var(--dd-black);
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 900;
    line-height: 1.1;
}

.dd-publication-item p {
    margin: 0 0 8px;
    color: #777777;
    font-size: 15px;
    line-height: 1.35;
}

.dd-publication-item__person span,
.single-publication-detail__meta span {
    display: block;
    margin-bottom: 3px;
    color: var(--dd-black);
    font-size: 0.68em;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

.dd-publication-item__person--director {
    color: #4f4f4f;
}

.dd-publication-item__meta,
.dd-publication-item__doi {
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.dd-publication-item__excerpt {
    color: #777777;
    font-size: 14px;
    font-weight: 600;
}

.dd-publication-item__link {
    width: max-content;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    border-bottom: 2px solid #111111;
    color: #111111;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.dd-publication-item__link:hover,
.dd-publication-item__link:focus-visible {
    color: var(--dd-orange);
    border-color: var(--dd-orange);
}

.dd-empty-state {
    width: min(100%, 1120px);
    margin: 28px auto 0;
    padding: 0 34px;
    color: #777777;
    font-size: 16px;
    font-weight: 700;
}

.single-project-detail__external,
.single-publication-detail__external {
    margin: clamp(34px, 5vw, 54px) 0 0;
}

.single-project-detail__external .single-news__back,
.single-publication-detail__external .single-news__back {
    margin-bottom: 0;
}

.single-project-detail__facts {
    width: min(100%, 1080px);
    margin: 0 auto clamp(34px, 5vw, 58px);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    border-top: 1px solid rgba(17, 17, 17, 0.18);
    border-left: 1px solid rgba(17, 17, 17, 0.18);
}

.single-project-detail__fact {
    min-height: 118px;
    padding: clamp(16px, 2vw, 22px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    border-right: 1px solid rgba(17, 17, 17, 0.18);
    border-bottom: 1px solid rgba(17, 17, 17, 0.18);
}

.single-project-detail__fact span {
    color: #777777;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

.single-project-detail__fact strong {
    color: #111111;
    font-size: clamp(18px, 1.7vw, 25px);
    font-weight: 700;
    line-height: 1.08;
}

.single-project-detail__content {
    width: min(100%, 760px);
    margin: 0 auto;
}

.single-project-detail__columns,
.single-project-detail__gallery,
.single-project-detail__publications {
    width: min(100%, 1080px);
    margin: clamp(42px, 6vw, 76px) auto 0;
}

.single-project-detail__columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: clamp(24px, 4vw, 46px);
}

.single-project-detail__section {
    padding-top: 20px;
    border-top: 4px solid #111111;
}

.single-project-detail__section h2,
.single-project-detail__gallery h2 {
    margin: 0 0 clamp(16px, 2vw, 24px);
    color: #111111;
    font-family: var(--font-heading);
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 400;
    line-height: 0.98;
}

.single-project-detail__section ul,
.single-project-detail__publications ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.single-project-detail__section li,
.single-project-detail__publications li {
    padding: 13px 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.16);
    color: #222222;
    font-size: clamp(16px, 1.05vw, 18px);
    line-height: 1.4;
}

.single-project-detail__publications a {
    color: #111111;
    font-weight: 800;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.single-project-detail__publications a:hover,
.single-project-detail__publications a:focus-visible {
    color: var(--dd-orange);
}

.single-project-detail__gallery > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 2vw, 22px);
}

.single-project-detail__gallery img {
    width: 100%;
    aspect-ratio: 4 / 3;
    height: auto;
    display: block;
    object-fit: cover;
}

.single-publication-detail__meta {
    margin-top: 22px;
    color: #777777;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
}

.single-publication-detail__meta p {
    margin: 0 0 6px;
}

.dd-groups {
    width: min(100%, 1160px);
    margin: 0 auto;
    padding: 30px 34px 96px;
}

.dd-groups__heading {
    margin-bottom: clamp(42px, 5vw, 68px);
}

.dd-groups__heading p {
    margin: 0 0 10px;
    color: #777777;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.dd-groups h1 {
    margin: 0;
    color: var(--dd-black);
    font-size: clamp(38px, 4.4vw, 58px);
    font-weight: 900;
    line-height: 1.02;
}

.dd-groups__list {
    display: grid;
    gap: clamp(46px, 5.6vw, 74px);
}

.dd-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 320px);
    gap: clamp(30px, 4.8vw, 64px);
    align-items: center;
}

.dd-group__main {
    min-width: 0;
}

.dd-group h2 {
    margin: 0 0 22px;
    color: var(--dd-black);
    font-family: var(--dd-sans);
    font-size: clamp(24px, 2.45vw, 36px);
    font-weight: 500;
    line-height: 1.08;
}

.dd-group h2 span {
    display: inline-block;
    margin-right: 10px;
    font-weight: 900;
    letter-spacing: 0;
}

.dd-group__body {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 24px;
}

.dd-group__tabs {
    display: grid;
    align-content: start;
    gap: 12px;
}

.dd-group__tabs button,
.dd-group__tabs a {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dd-black);
    font: 900 13px/1.18 var(--dd-display);
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color 180ms ease, transform 180ms ease;
}

.dd-group__tabs button:hover,
.dd-group__tabs button:focus-visible,
.dd-group__tabs button.is-active,
.dd-group__tabs a:hover,
.dd-group__tabs a:focus-visible {
    color: var(--dd-orange);
}

.dd-group__tabs button:hover,
.dd-group__tabs button:focus-visible,
.dd-group__tabs a:hover,
.dd-group__tabs a:focus-visible {
    transform: translateX(4px);
}

.dd-group__tabs button:focus-visible,
.dd-group__tabs a:focus-visible {
    outline: 2px solid var(--dd-orange);
    outline-offset: 4px;
}

.dd-group__content {
    min-height: 118px;
}

.dd-group__panel {
    display: none;
}

.dd-group__panel.is-active {
    display: block;
}

.dd-group__panel p,
.dd-group__panel li {
    margin: 0;
    color: #000000;
    font-size: clamp(15px, 1.02vw, 17px);
    font-weight: 600;
    line-height: 1.5;
}

.dd-group__panel ul {
    margin: 0;
    padding-left: 18px;
}

.dd-group__panel li + li {
    margin-top: 8px;
}

.dd-group__visual {
    position: relative;
    min-height: 104px;
    display: grid;
    align-items: center;
    overflow: hidden;
    color: var(--dd-black);
    text-decoration: none;
    transition: transform 220ms ease;
}

.dd-group__visual:hover,
.dd-group__visual:focus-visible {
    transform: translateX(8px);
}

.dd-group__visual:focus-visible {
    outline: 3px solid var(--dd-orange);
    outline-offset: 5px;
}

.dd-group__image {
    position: relative;
    z-index: 2;
    display: block;
    width: min(100%, 420px);
    max-height: 92px;
    object-fit: contain;
    object-position: left center;
}

.dd-group__logo {
    position: relative;
    z-index: 2;
    display: block;
    font-size: clamp(22px, 2.55vw, 34px);
    font-weight: 900;
    line-height: 1;
}

.dd-group__arrow {
    position: absolute;
    left: 0;
    bottom: -4px;
    z-index: 3;
    color: var(--dd-black);
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
    transition: color 180ms ease, transform 180ms ease;
}

.dd-group__visual:hover .dd-group__arrow,
.dd-group__visual:focus-visible .dd-group__arrow {
    color: var(--dd-orange);
    transform: translateX(8px);
}

.dd-group__visual--dicode {
    min-height: 104px;
    padding: 18px 22px;
    background:
        linear-gradient(90deg, rgba(238, 247, 248, 0.94) 0 43%, transparent 43%),
        linear-gradient(90deg, #ff5b63 0 12%, #ff8e61 12% 24%, #e8f5f6 24% 44%, #2466d6 44% 100%) right top / 54% 50% no-repeat,
        linear-gradient(90deg, #0f0f13 0 21%, #ff5b63 21% 34%, #18c3d6 34% 54%, #e9dd2e 54% 72%, #0f0f13 72% 86%, #20b286 86% 100%) right bottom / 54% 50% no-repeat,
        #eaf4f5;
}

.dd-group__visual--dicode .dd-group__logo {
    max-width: 128px;
    font-size: 21px;
}

.dd-group__visual--accesscat {
    min-height: 126px;
    padding: 18px 8px 18px 58px;
    background: transparent;
}

.dd-group__visual--accesscat::before,
.dd-group__visual--accesscat::after {
    content: "";
    position: absolute;
    left: 28px;
    top: 28px;
    width: 54px;
    height: 2px;
    background: #f05b4f;
    transform: rotate(-54deg);
}

.dd-group__visual--accesscat::after {
    top: 64px;
    transform: rotate(44deg);
}

.dd-group__visual--accesscat .dd-group__logo {
    color: #2f6bb3;
    font-size: clamp(24px, 2.65vw, 34px);
    line-height: 0.9;
}

.dd-group__visual--accesscat .dd-group__logo::first-letter {
    color: #f05b4f;
}

.dd-group__visual--agd {
    min-height: 118px;
    padding: 22px;
    background:
        radial-gradient(circle at 22% 30%, #fff200 0 12%, transparent 13%),
        linear-gradient(135deg, #111111 0 34%, transparent 34%),
        linear-gradient(45deg, #ff9800 0 28%, #ffffff 28% 56%, #18c3d6 56% 100%);
}

.dd-group__visual--has-image {
    min-height: 126px;
    padding: 22px;
    background: transparent;
}

.dd-group__visual--agd .dd-group__logo {
    color: #ffffff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.32);
}

.dd-footer {
    width: 100%;
    padding: clamp(46px, 6vw, 76px) 0 24px;
    border-top: 1px solid #111111;
    background: #000000;
    color: #ffffff;
    font-family: var(--dd-sans);
}

.dd-footer__inner {
    width: min(calc(100% - 48px), var(--dd-content));
    margin: 0 auto;
}

.dd-footer a {
    color: inherit;
    text-decoration: none;
}

.dd-footer a:hover,
.dd-footer a:focus-visible {
    color: #7ec8ff;
}

.dd-footer a:focus-visible {
    outline: 2px solid #7ec8ff;
    outline-offset: 4px;
}

.dd-footer__main {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 260px));
    justify-content: center;
    gap: clamp(44px, 7vw, 104px);
    padding-bottom: clamp(34px, 5vw, 56px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    text-align: left;
}

.dd-footer h2 {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: clamp(30px, 4.2vw, 54px);
    line-height: 0.96;
}

.dd-footer__identity p,
.dd-footer__contact p {
    max-width: 260px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.55;
}

.dd-footer__heading {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 21px;
    line-height: 1.1;
}

.dd-footer__nav,
.dd-footer__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.dd-footer__nav a,
.dd-footer__contact-link {
    display: inline-flex;
    margin-bottom: 10px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
}

.dd-footer__contact p span {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 14px;
}

.dd-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 18px 34px;
    padding-top: 22px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.dd-footer__bottom p {
    margin: 0;
}

.dd-footer__legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 18px;
}

.dd-footer__legal a {
    color: rgba(255, 255, 255, 0.82);
}

@media (prefers-reduced-motion: reduce) {
    .js-reveal .dd-scroll-reveal,
    .js-reveal .dd-scroll-reveal .dd-section-label,
    .js-reveal .dd-scroll-reveal .dd-summary__grid,
    .js-reveal .dd-scroll-reveal .dd-research__intro,
    .js-reveal .dd-scroll-reveal .dd-research__panel {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .home .dd-hero h1,
    .front-page .dd-hero h1,
    .home .dd-hero__logos span,
    .front-page .dd-hero__logos span {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

@media (max-width: 820px) {
    .dd-global-header {
        gap: 14px;
        padding: 14px 18px;
    }

    .dd-global-header__mark {
        width: 128px;
        height: 40px;
    }

    .dd-global-header__title {
        font-size: 16px;
    }

    .dd-global-header__title-mark {
        width: 25px;
        height: 25px;
    }

    .dd-global-header__contact {
        font-size: 13px;
    }

    .dd-site-header {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 14px 22px;
        text-align: center;
    }

    .dd-brand,
    .dd-top-nav {
        justify-self: center;
        justify-content: center;
    }

    .dd-hero__overlay {
        min-height: calc(100svh - var(--dd-global-header-height) - 22px - var(--dd-nav-height));
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: clamp(18px, 3.5vh, 30px);
        padding: clamp(28px, 5vh, 48px) 26px clamp(22px, 4vh, 34px);
    }

    .dd-hero__logos {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
        max-width: none;
        margin: 22px 0 0;
        flex-wrap: wrap;
    }

    .dd-hero h1 {
        grid-column: 1;
        grid-row: 1;
    }

    .dd-hero__aspects {
        grid-column: 1;
        grid-row: 3;
        width: min(100%, 680px);
        margin: 0 auto;
    }

    .dd-hero__text {
        grid-column: 1;
        grid-row: 3;
        width: min(100%, 760px);
        margin: 0 auto;
        text-align: center;
        align-self: center;
    }

    .dd-summary__grid,
    .dd-research__feature {
        grid-template-columns: 1fr;
    }

    .dd-research__card.is-active .dd-research__feature {
        max-height: 780px;
    }

    .dd-summary__grid {
        gap: 34px;
    }

    .dd-summary h2 {
        white-space: normal;
    }

    .dd-image-strip {
        padding-inline: 26px;
        grid-template-columns: 1fr 0.78fr 1fr;
        grid-template-rows: 188px 138px 188px;
        gap: 0;
    }

    .dd-image-strip figure:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
        height: 100%;
        margin: 0;
    }

    .dd-image-strip figure:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
        height: 100%;
        margin-left: -14px;
    }

    .dd-image-strip figure:nth-child(3) {
        grid-column: 1 / span 2;
        grid-row: 2 / span 2;
        height: 100%;
        margin-left: 18px;
    }

    .dd-image-strip figure:nth-child(4) {
        grid-column: 3;
        grid-row: 1 / span 2;
        height: 100%;
        margin-left: -18px;
    }

    .dd-footer__main {
        grid-template-columns: repeat(3, minmax(160px, 1fr));
    }

    .dd-section-label {
        display: none;
    }

    .dd-inner-nav {
        min-height: auto;
        flex-wrap: wrap;
        gap: 12px 26px;
        padding: 18px 22px 6px;
        font-size: 13px;
    }

    .dd-team {
        padding: 36px 24px 64px;
    }

    .dd-team__grid {
        width: min(100%, 620px);
        grid-template-columns: 1fr;
        row-gap: 34px;
    }

    .dd-news-hero {
        padding: 28px 24px 52px;
    }

    .dd-news-hero__heading,
    .dd-news-feed__head,
    .dd-news-spotlight,
    .dd-news-main {
        grid-template-columns: 1fr;
    }

    .dd-news-hero__heading p {
        grid-column: 1;
        grid-row: 1;
    }

    .dd-news-hero h1 {
        grid-row: 2;
    }

    .dd-news-main {
        min-height: 0;
    }

    .dd-news-main figure {
        min-height: 240px;
    }

    .dd-news-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: auto;
    }

    .dd-news-rail button {
        min-height: 118px;
        border-left: 0;
        border-top: 4px solid #d8d8d8;
        border-radius: 0 0 8px 8px;
    }

    .dd-news-rail button:hover,
    .dd-news-rail button:focus-visible,
    .dd-news-rail button.is-active {
        transform: translateY(-4px);
    }

    .dd-news-feed {
        padding: 0 24px 78px;
    }

    .dd-news-filters {
        justify-content: flex-start;
    }

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

    .single-news__article {
        padding: 42px 24px 84px;
    }

    .single-news__header {
        min-height: auto;
        grid-template-columns: 1fr;
    }

    .single-news__title {
        font-size: clamp(40px, 9vw, 62px);
    }

    .single-news__excerpt {
        padding-top: 0;
    }

    .single-news__image {
        aspect-ratio: 16 / 9;
    }

    .single-news__reader {
        grid-template-columns: 1fr;
    }

    .single-news__aside {
        position: static;
        display: flex;
        flex-wrap: wrap;
        gap: 8px 14px;
        align-items: baseline;
    }

    .single-news__aside p,
    .single-news__aside span {
        margin: 0;
    }

    .dd-projects {
        padding: 36px 0 42px;
    }

    .dd-projects__heading {
        padding-inline: 24px;
    }

    .dd-projects__section-heading {
        padding-inline: 24px;
    }

    .dd-projects__mosaic {
        width: calc(100% - 32px);
        margin-top: 24px;
        padding-block: 10px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: clamp(180px, 24vw, 240px);
        column-gap: 18px;
        row-gap: 30px;
    }

    .dd-project-card--featured {
        transform: scale(1.04);
    }

    .dd-project-card {
        opacity: 0.58;
        transform: scale(0.95);
    }

    .dd-project-card__label {
        opacity: 1;
        transform: none;
    }

    .dd-project-card:hover,
    .dd-project-card:focus-within {
        opacity: 1;
        transform: scale(1.04);
    }

    .dd-project-card:hover a,
    .dd-project-card:focus-within a {
        width: 100%;
        min-height: 100%;
        display: block;
        transform: none;
    }

    .dd-project-card:hover .dd-project-card__info,
    .dd-project-card:focus-within .dd-project-card__info {
        display: none;
    }

    .dd-project-card:hover a .dd-project-card__label,
    .dd-project-card:focus-within a .dd-project-card__label {
        opacity: 1;
    }

    .dd-publications {
        padding: 34px 24px 74px;
    }

    .dd-publications__list {
        grid-template-columns: 1fr;
    }

    .dd-groups {
        padding: 36px 24px 72px;
    }

    .dd-groups__heading {
        margin-bottom: 42px;
    }

    .dd-group {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .dd-group__visual {
        width: min(100%, 340px);
        justify-self: end;
    }

    .dd-group__body {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 22px;
    }
}

@media (max-width: 1180px) and (min-height: 900px) {
    .dd-projects {
        padding-bottom: 28px;
    }

    .dd-projects__mosaic {
        margin-top: 22px;
    }

    .dd-publications {
        padding-top: 28px;
    }
}

@media (max-width: 680px) {
    :root {
        --dd-global-header-height: 82px;
        --dd-nav-height: 112px;
    }

    .dd-global-header {
        grid-template-columns: auto 1fr;
        min-height: auto;
        padding: 10px 16px;
        row-gap: 8px;
    }

    .dd-global-header__title {
        justify-self: end;
        text-align: right;
    }

    .dd-global-header__contact {
        grid-column: 1 / -1;
        justify-self: end;
    }

    .dd-container {
        width: 100%;
    }

    .dd-top-nav,
    .dd-section-nav {
        gap: 14px;
        flex-wrap: wrap;
    }

    .dd-section-nav {
        min-height: var(--dd-nav-height);
        padding: 14px 14px;
        align-content: center;
        font-size: 12px;
        line-height: 1.15;
        text-align: center;
    }

    .dd-section-nav a {
        max-width: 132px;
    }

    .dd-hero h1 {
        font-size: clamp(44px, 15vw, 64px);
        color: white;
    }

    .dd-hero__aspects {
        grid-template-columns: 1fr;
        width: min(100%, 430px);
        margin: 0 auto;
    }

    .dd-hero__aspects a {
        min-height: 62px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.28);
    }

    .dd-hero__aspects a:last-child {
        border-bottom: 0;
    }

    .dd-hero__text {
        width: min(100%, 430px);
        margin: 0 auto;
        font-size: 14px;
    }

    .dd-summary {
        padding-top: 64px;
    }

    .dd-summary__grid {
        gap: 28px;
    }

    .dd-copy p {
        text-align: left;
    }

    .dd-image-strip {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(2, 174px);
        gap: 10px;
        margin-bottom: 66px;
    }

    .dd-image-strip figure,
    .dd-image-strip figure:nth-child(3) {
        grid-column: auto;
        grid-row: auto;
        height: 174px;
        margin-left: 0;
    }

    .dd-research__intro {
        padding-right: 0;
    }

    .dd-research__intro::after {
        display: none;
    }

    .dd-research__card button {
        width: 100%;
        min-height: 78px;
    }

    .dd-research__card.is-active .dd-research__feature {
        max-height: 860px;
    }

    .dd-footer {
        padding-top: 42px;
    }

    .dd-footer__main,
    .dd-footer__bottom {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .dd-footer__main {
        gap: 28px;
    }

    .dd-footer__bottom,
    .dd-footer__legal {
        justify-content: flex-start;
    }

    .dd-inner-nav {
        justify-content: flex-start;
    }

    .dd-inner-nav a.is-current::before {
        margin-right: 10px;
    }

    .dd-team {
        padding-inline: 20px;
        padding-top: 28px;
    }

    .dd-role-nav {
        width: 100%;
        margin-top: 30px;
        flex-wrap: wrap;
        justify-content: flex-start;
        font-size: 13px;
    }

    .dd-group-filter-nav {
        width: 100%;
        margin-top: 30px;
        flex-wrap: wrap;
        justify-content: flex-start;
        font-size: 13px;
    }

    .dd-group-filter-nav + .dd-role-nav {
        margin-top: 12px;
    }

    .dd-group-filter-nav a,
    .dd-role-nav a {
        padding: 0 12px;
    }

    .dd-team-card {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 16px;
    }

    .dd-team-avatar {
        width: 84px;
    }

    .dd-team-card h2 {
        font-size: 16px;
    }

    .dd-team-card p {
        font-size: 13px;
    }

    .dd-news-hero {
        padding: 22px 20px 42px;
    }

    .dd-news-main__copy {
        padding: 22px 20px;
    }

    .dd-news-main h2 {
        font-size: clamp(25px, 8vw, 34px);
    }

    .dd-news-main figure {
        min-height: 190px;
    }

    .dd-news-rail,
    .dd-news-grid {
        grid-template-columns: 1fr;
    }

    .dd-news-rail button {
        min-height: 82px;
    }

    .dd-news-card a {
        grid-template-rows: 190px 1fr;
    }

    .dd-news-card--wide {
        grid-column: span 1;
    }

    .dd-news-card--wide a {
        grid-template-rows: 190px 1fr;
    }

    .single-news__article {
        padding: 32px 20px 70px;
    }

    .single-news__back {
        margin-bottom: 30px;
    }

    .single-news__header {
        row-gap: 22px;
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .single-news__title {
        font-size: clamp(34px, 11vw, 48px);
        line-height: 0.96;
    }

    .single-news__excerpt {
        padding-left: 18px;
        font-size: clamp(21px, 7vw, 28px);
    }

    .single-news__image {
        aspect-ratio: 4 / 3;
        margin-bottom: 30px;
    }

    .single-news__reader {
        gap: 30px;
    }

    .single-news__aside {
        padding-top: 8px;
    }

    .single-news__content {
        font-size: 16px;
        line-height: 1.62;
    }

    .single-news__content h2 {
        font-size: clamp(30px, 11vw, 44px);
    }

    .single-news__content blockquote {
        font-size: clamp(23px, 8vw, 30px);
    }

    .single-news__navigation {
        grid-template-columns: 1fr;
    }

    .single-news__nav-link,
    .single-news__nav-link--next {
        text-align: left;
        border-right: 0;
        border-left: 4px solid #111111;
        border-radius: 0 8px 8px 0;
    }

    .dd-projects {
        padding-top: 28px;
    }

    .dd-projects h1 {
        font-size: clamp(38px, 12vw, 52px);
    }

    .dd-projects__section-heading {
        margin-top: 32px;
        padding-inline: 20px;
    }

    .dd-projects__mosaic {
        width: calc(100% - 32px);
        margin-top: 28px;
        padding-block: 0;
        grid-template-columns: 1fr;
        grid-auto-rows: 240px;
        gap: 18px;
    }

    .dd-project-card--featured {
        min-height: 260px;
        transform: scale(1);
    }

    .dd-project-card {
        opacity: 0.78;
        transform: scale(1);
    }

    .dd-project-card__label {
        opacity: 1;
        transform: none;
    }

    .dd-project-card:hover,
    .dd-project-card:focus-within {
        transform: scale(1);
    }

    .dd-project-card:hover a,
    .dd-project-card:focus-within a {
        width: 100%;
        display: block;
        transform: none;
    }

    .dd-project-card:hover .dd-project-card__info,
    .dd-project-card:focus-within .dd-project-card__info {
        display: none;
    }

    .dd-project-card:hover a .dd-project-card__label,
    .dd-project-card:focus-within a .dd-project-card__label {
        opacity: 1;
    }

    .dd-publications h2 {
        margin-bottom: 22px;
    }

    .dd-publication-item {
        min-height: 124px;
        padding: 20px;
    }

    .dd-groups {
        padding: 28px 20px 58px;
    }

    .dd-groups h1 {
        font-size: clamp(36px, 11vw, 52px);
    }

    .dd-groups__list {
        gap: 46px;
    }

    .dd-group h2 {
        margin-bottom: 18px;
        font-size: clamp(24px, 8vw, 32px);
        line-height: 1.12;
    }

    .dd-group h2 span {
        display: block;
        margin: 0 0 6px;
    }

    .dd-group__body {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .dd-group__tabs {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .dd-group__tabs button,
    .dd-group__tabs a {
        min-height: 0;
        padding: 8px 0 9px;
        border-bottom: 2px solid #d8d8d8;
        font-size: 12px;
    }

    .dd-group__tabs button:hover,
    .dd-group__tabs button:focus-visible,
    .dd-group__tabs a:hover,
    .dd-group__tabs a:focus-visible {
        transform: none;
    }

    .dd-group__content {
        min-height: 0;
    }

    .dd-group__visual {
        width: 100%;
        justify-self: stretch;
        min-height: 100px;
    }

    .dd-group__panel p,
    .dd-group__panel li {
        font-size: 15px;
        line-height: 1.45;
    }
}

.single-noticies .single-news__title {
    font-size: clamp(40px, 5vw, 72px);
    line-height: 1;
}

.single-noticies .single-news__content h2 {
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.04;
}

.single-noticies .single-news__content h3 {
    font-size: clamp(21px, 1.7vw, 28px);
    line-height: 1.1;
}

.page-template-page-noticies .dd-news-main h2,
.page-template-page-noticies-php .dd-news-main h2,
.dd-news-page .dd-news-main h2 {
    display: -webkit-box;
    overflow: hidden;
    font-size: clamp(27px, 2.35vw, 38px);
    line-height: 1.02;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.page-template-page-noticies .dd-news-main__copy > p:not(.dd-news-meta),
.page-template-page-noticies-php .dd-news-main__copy > p:not(.dd-news-meta),
.dd-news-page .dd-news-main__copy > p:not(.dd-news-meta) {
    display: -webkit-box;
    overflow: hidden;
    font-size: clamp(14px, 0.95vw, 16px);
    line-height: 1.36;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.single-noticies .single-news__title {
    font-size: clamp(40px, 5vw, 72px);
    line-height: 1;
}

.single-noticies .single-news__excerpt {
    font-size: clamp(19px, 1.8vw, 26px);
    line-height: 1.18;
}

.single-noticies .single-news__content {
    font-size: clamp(16px, 1.05vw, 18px);
    line-height: 1.62;
}

.single-noticies .single-news__content h2 {
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.04;
}

.single-noticies .single-news__content h3 {
    font-size: clamp(21px, 1.7vw, 28px);
    line-height: 1.1;
}

.single-noticies .single-news__nav-link {
    min-height: 86px;
    padding: clamp(14px, 1.8vw, 20px);
    font-size: clamp(20px, 2vw, 28px);
    line-height: 1.18;
}

.single-noticies .single-news__nav-link span {
    font-size: 10px;
}

@media (max-width: 820px) {
    .page-template-page-noticies .dd-news-main h2,
    .page-template-page-noticies-php .dd-news-main h2,
    .dd-news-page .dd-news-main h2 {
        font-size: clamp(25px, 5vw, 34px);
    }

    .single-noticies .single-news__title {
        font-size: clamp(34px, 7vw, 52px);
    }

    .single-noticies .single-news__title {
        font-size: clamp(34px, 7vw, 52px);
    }

    .single-noticies .single-news__excerpt {
        font-size: clamp(18px, 3.2vw, 22px);
    }

    .single-noticies .single-news__nav-link {
        font-size: clamp(19px, 4vw, 24px);
    }
}

@media (max-width: 680px) {
    .page-template-page-noticies .dd-news-main h2,
    .page-template-page-noticies-php .dd-news-main h2,
    .dd-news-page .dd-news-main h2 {
        font-size: clamp(25px, 8vw, 34px);
        -webkit-line-clamp: 2;
    }

    .page-template-page-noticies .dd-news-main__copy > p:not(.dd-news-meta),
    .page-template-page-noticies-php .dd-news-main__copy > p:not(.dd-news-meta),
    .dd-news-page .dd-news-main__copy > p:not(.dd-news-meta) {
        -webkit-line-clamp: 2;
    }

    .single-noticies .single-news__title {
        font-size: clamp(30px, 9vw, 40px);
        line-height: 1.04;
    }

    .single-noticies .single-news__content h2 {
        font-size: clamp(25px, 8vw, 34px);
    }

    .single-noticies .single-news__nav-link {
        min-height: 78px;
        padding: 14px 16px;
        font-size: clamp(18px, 6vw, 22px);
    }
}

body:not(.home):not(.front-page) .dd-section-nav--internal + .dd-sticky-menu-spacer + main > section:first-child,
body:not(.home):not(.front-page) .dd-section-nav--internal + main > section:first-child {
    padding-top: 30px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.dd-global-header__title,
.dd-site-title,
.dd-team-card h2,
.dd-footer h2,
.dd-footer__heading {
    font-family: var(--dd-display);
    font-weight: 400;
}

/* Final typography cascade: keep the visual hierarchy consistent across templates. */
body,
button,
input,
select,
textarea {
    font-family: var(--font-body);
}

.type-heading,
.type-section-title,
.dd-hero h1,
.dd-section-label,
.dd-news-hero h1,
.single-news__title,
.dd-projects h1,
.dd-groups h1,
.dd-team h1 {
    font-family: var(--font-heading);
    font-weight: 400;
    letter-spacing: 0;
}

.type-heading,
.dd-hero h1,
.dd-news-hero h1,
.single-news__title,
.dd-projects h1,
.dd-groups h1,
.dd-team h1 {
    font-size: var(--type-heading-size);
    line-height: 0.94;
}

.type-section-title,
.dd-section-label,
.dd-summary h2,
.dd-research h2,
.dd-projects__section-heading h2,
.dd-publications h2,
.dd-footer h2,
.single-news__content h2 {
    font-family: var(--font-heading);
    font-size: var(--type-section-title-size);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: 0;
}

.type-subtitle,
.dd-news-main h2,
.single-news__content h3,
.dd-group h2 {
    font-family: var(--font-body);
    font-size: var(--type-subtitle-size);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: 0;
}

.type-body,
.dd-copy,
.dd-hero__text,
.dd-research__intro p,
.single-news__content,
.page-content,
.inside-article.type-body {
    font-family: var(--font-body);
    font-size: var(--type-body-size);
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0;
}

.dd-copy p,
.dd-research__intro p,
.single-news__content p,
.single-news__content li,
.page-content p,
.inside-article.type-body p {
    font: inherit;
}

.type-card-title,
.dd-news-card h3,
.dd-project-card__info h2,
.dd-project-card__label,
.dd-publication-item h3,
.dd-team-card h2,
.single-news__nav-link,
.dd-group__logo,
.dd-footer__heading {
    font-family: var(--font-card-title);
    font-size: var(--type-card-title-size);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0;
}

.dd-publication-item h3 {
    font-family: var(--font-heading);
}

.type-card-description,
.dd-news-card div > p:not(.dd-news-meta),
.dd-news-main__copy > p:not(.dd-news-meta),
.dd-project-card__excerpt,
.dd-publication-item p,
.dd-publication-item__excerpt,
.dd-team-card p,
.dd-team-card__bio,
.dd-group__panel p,
.dd-group__panel li,
.dd-footer__identity p,
.dd-footer__contact p {
    font-family: var(--font-body);
    font-size: var(--type-card-description-size);
    font-weight: 300;
    line-height: 1.42;
    letter-spacing: 0;
}

.type-meta,
.dd-news-meta,
.single-news__meta,
.post-meta,
.dd-project-card__author,
.dd-project-card__category,
.dd-publication-item__meta,
.dd-publication-item__doi,
.single-publication-detail__meta,
.dd-team-card__roles span,
.dd-team-card__groups span,
.dd-group-filter-nav a,
.dd-role-nav a,
.dd-news-filters a,
.dd-news-rail button span,
.single-news__nav-link span,
.dd-announcement,
.dd-hero__logos,
.dd-footer__upc,
.dd-footer__bottom {
    font-family: var(--font-body);
    font-size: var(--type-meta-size);
    font-weight: 200;
    line-height: 1.2;
    letter-spacing: 0;
}

.dd-announcement,
.dd-hero__logos,
.dd-news-meta,
.single-news__meta,
.post-meta,
.dd-project-card__category,
.dd-publication-item__meta,
.dd-publication-item__doi,
.dd-team-card__roles span,
.dd-team-card__groups span,
.dd-group-filter-nav a,
.dd-role-nav a,
.dd-news-filters a,
.dd-news-rail button span,
.single-news__nav-link span,
.dd-footer__upc {
    text-transform: uppercase;
}

@media (min-width: 1024px) and (max-width: 1440px) {
    .dd-team-page .dd-team__grid {
        column-gap: clamp(34px, 4vw, 56px);
        row-gap: 38px;
    }

    .dd-team-page .dd-team-card {
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 18px;
    }

    .dd-team-page .dd-team-avatar {
        width: 82px;
    }

    .dd-team-page .dd-team-card h2 {
        margin-bottom: 9px;
        font-size: 24px;
        line-height: 1.04;
    }

    .dd-team-page .dd-team-card p,
    .dd-team-page .dd-team-card__bio {
        margin-bottom: 6px;
        font-size: 14px;
        line-height: 1.28;
    }

    .dd-team-page .dd-team-card__groups,
    .dd-team-page .dd-team-card__roles {
        gap: 5px;
        margin-bottom: 6px;
    }

    .dd-team-page .dd-team-card__groups span,
    .dd-team-page .dd-team-card__roles span {
        min-height: 20px;
        padding: 0 7px;
        font-size: 12px;
        line-height: 1.05;
    }

    .dd-team-page .dd-team-card__links {
        gap: 6px 12px;
        margin-top: 6px;
    }

    .dd-team-page .dd-team-card__links a {
        font-size: 12px;
    }
}

.dd-inner-nav,
.dd-section-nav,
.dd-global-header__contact,
.dd-footer__nav a,
.dd-footer__contact-link,
.single-news__back,
.dd-news-main a,
.dd-project-card__button,
.dd-publication-item__link,
.dd-group__tabs button,
.dd-group__tabs a {
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: 0;
}

.dd-footer {
    padding-top: clamp(36px, 4.6vw, 58px);
}

.dd-footer__main {
    gap: clamp(24px, 4vw, 56px);
    padding-bottom: clamp(26px, 3.8vw, 42px);
}

.dd-footer h2 {
    margin-bottom: 14px;
    font-size: clamp(24px, 3vw, 40px);
    line-height: 1;
}

.dd-footer__heading {
    margin-bottom: 14px;
    font-size: clamp(18px, 1.8vw, 24px);
}

.dd-footer__identity p,
.dd-footer__contact p {
    font-size: clamp(14px, 1.15vw, 17px);
    line-height: 1.45;
}

.dd-footer__bottom {
    padding-top: 18px;
}

@media (max-width: 820px) {
    :root {
        --type-heading-size: clamp(46px, 10vw, 72px);
        --type-section-title-size: clamp(40px, 9vw, 68px);
        --type-subtitle-size: clamp(28px, 6.2vw, 44px);
        --type-body-size: clamp(17px, 3vw, 24px);
        --type-card-title-size: clamp(22px, 4vw, 30px);
        --type-card-description-size: clamp(16px, 2.7vw, 18px);
        --type-meta-size: clamp(12px, 2.3vw, 16px);
    }
}

@media (max-width: 680px) {
    :root {
        --type-heading-size: clamp(38px, 12vw, 56px);
        --type-section-title-size: clamp(34px, 10.5vw, 52px);
        --type-subtitle-size: clamp(24px, 7.8vw, 36px);
        --type-body-size: clamp(16px, 4.4vw, 20px);
        --type-card-title-size: clamp(20px, 6vw, 27px);
        --type-card-description-size: clamp(15px, 4.2vw, 17px);
        --type-meta-size: clamp(11px, 3.4vw, 14px);
    }

    .type-body,
    .dd-copy,
    .dd-hero__text,
    .dd-research__intro p,
    .single-news__content,
    .page-content,
    .inside-article.type-body {
        line-height: 1.5;
    }
}

@keyframes dd-hero-title-in {
    from {
        opacity: 0;
        transform: translateY(26px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes dd-hero-logo-in {
    from {
        opacity: 0;
        transform: translateY(-16px) scale(0.94);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Home page typography adjustments */
.home,
.front-page {
    --dd-announcement-height: 32px;
    --dd-global-header-height: 78px;
    --dd-nav-height: clamp(58px, 6.2vh, 70px);
}

.home .dd-announcement,
.front-page .dd-announcement {
    min-height: var(--dd-announcement-height);
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.2;
}

.home .dd-hero,
.front-page .dd-hero {
    min-height: calc(100svh - var(--dd-global-header-height) - var(--dd-nav-height));
}

.home .dd-hero__overlay,
.front-page .dd-hero__overlay {
    min-height: calc(100svh - var(--dd-global-header-height) - var(--dd-announcement-height) - var(--dd-nav-height));
    grid-template-rows: auto minmax(92px, 1fr) auto;
}

.home .dd-hero h1,
.front-page .dd-hero h1 {
    max-width: 720px;
    animation: dd-hero-title-in 900ms cubic-bezier(0.16, 1, 0.3, 1) 120ms both;
}

.home .dd-hero__text,
.front-page .dd-hero__text {
    width: min(100%, 1120px);
    font-size: clamp(29px, 2.35vw, 39px);
    line-height: 1.22;
}

.home .dd-section-nav,
.front-page .dd-section-nav {
    min-height: var(--dd-nav-height);
    padding-block: 10px;
    font-size: clamp(12px, 0.95vw, 15px);
    line-height: 1.15;
}

@media (min-width: 821px) and (max-height: 980px) {
    .home,
    .front-page {
        --dd-nav-height: clamp(54px, 5.8vh, 64px);
    }

    .home .dd-hero__overlay,
    .front-page .dd-hero__overlay {
        grid-template-rows: auto minmax(34px, 1fr) auto;
        padding-top: clamp(24px, 4vh, 40px);
        padding-bottom: clamp(14px, 2.4vh, 26px);
    }

    .home .dd-hero__text,
    .front-page .dd-hero__text {
        font-size: clamp(27px, 2.15vw, 35px);
        line-height: 1.18;
    }

    .home .dd-section-nav,
    .front-page .dd-section-nav {
        padding-block: 8px;
    }
}

.home .dd-hero__logos,
.front-page .dd-hero__logos {
    gap: clamp(32px, 5vw, 76px);
    font-size: clamp(24px, 2.1vw, 34px);
    font-weight: 700;
    line-height: 1;
}

.home .dd-hero__logos span,
.front-page .dd-hero__logos span,
.home .dd-hero__logos a,
.front-page .dd-hero__logos a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
    animation: dd-hero-logo-in 760ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.home .dd-hero__logos a,
.front-page .dd-hero__logos a {
    text-decoration-thickness: 3px;
    text-underline-offset: 8px;
    transition: color 180ms ease, text-decoration-color 180ms ease, transform 180ms ease;
}

.home .dd-hero__logos a:hover,
.home .dd-hero__logos a:focus-visible,
.front-page .dd-hero__logos a:hover,
.front-page .dd-hero__logos a:focus-visible {
    color: var(--dd-yellow);
    text-decoration-line: underline;
    text-decoration-color: currentColor;
    transform: translateY(-2px);
}

.home .dd-hero__logos a:focus-visible,
.front-page .dd-hero__logos a:focus-visible {
    outline: 3px solid var(--dd-yellow);
    outline-offset: 6px;
}

.home .dd-hero__logos span:nth-child(1),
.front-page .dd-hero__logos span:nth-child(1),
.home .dd-hero__logos a:nth-child(1),
.front-page .dd-hero__logos a:nth-child(1) {
    animation-delay: 320ms;
}

.home .dd-hero__logos span:nth-child(2),
.front-page .dd-hero__logos span:nth-child(2),
.home .dd-hero__logos a:nth-child(2),
.front-page .dd-hero__logos a:nth-child(2) {
    animation-delay: 460ms;
}

.home .dd-hero__logos span:nth-child(3),
.front-page .dd-hero__logos span:nth-child(3),
.home .dd-hero__logos a:nth-child(3),
.front-page .dd-hero__logos a:nth-child(3) {
    animation-delay: 600ms;
}

@media (prefers-reduced-motion: reduce) {
    .home .dd-hero h1,
    .front-page .dd-hero h1,
    .home .dd-hero__logos span,
    .front-page .dd-hero__logos span,
    .home .dd-hero__logos a,
    .front-page .dd-hero__logos a {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

.page-template-page-equip-academic .dd-group-filter-nav a,
.page-template-page-equip-academic .dd-role-nav a,
.page-template-page-noticies .dd-news-filters a {
    min-height: 30px;
    padding: 0 10px;
    font-size: clamp(10px, 0.72vw, 12px);
    line-height: 1;
}

.page-template-page-grups-de-recerca .dd-groups h1 {
    font-size: clamp(48px, 7.2vw, 100px);
    line-height: 1;
}

.page-template-page-grups-de-recerca .dd-group h2 {
    font-size: clamp(34px, 3.8vw, 50px);
    line-height: 1.08;
}

.page-template-page-projectes-i-publicacions .dd-projects__mosaic,
.dd-projects-page .dd-projects__mosaic {
    width: min(calc(100% - 36px), 1540px);
    grid-auto-rows: clamp(300px, 26vw, 430px);
    column-gap: clamp(24px, 3vw, 44px);
}

.page-template-page-projectes-i-publicacions .dd-projects__section-heading,
.dd-projects-page .dd-projects__section-heading {
    margin-top: 0;
}

.page-template-page-projectes-i-publicacions .dd-project-card--featured,
.dd-projects-page .dd-project-card--featured {
    transform: scale(1.18);
}

.home .dd-summary,
.front-page .dd-summary {
    padding-top: clamp(118px, 11vw, 154px);
}

.home .dd-section-label,
.front-page .dd-section-label {
    top: clamp(12px, 1.6vw, 22px);
}

.home #programa > .dd-section-label,
.front-page #programa > .dd-section-label {
    font-size: 80px;
}

.home .dd-summary__grid,
.front-page .dd-summary__grid {
    gap: 0;
}

.home .dd-copy,
.front-page .dd-copy {
    font-size: clamp(16px, 1.35vw, 21px);
    line-height: 1.42;
}

.home .dd-copy p,
.front-page .dd-copy p {
    color: #777777;
}

.home .dd-research h2,
.front-page .dd-research h2 {
    font-size: 80px;
    line-height: 1;
}

.home .dd-research__intro p,
.front-page .dd-research__intro p {
    font-size: 21px;
    line-height: 1.5;
}

@media (max-width: 680px) {
    .home,
    .front-page {
        --dd-global-header-height: 82px;
        --dd-nav-height: 112px;
    }

    .home .dd-announcement,
    .front-page .dd-announcement {
        font-size: 9px;
    }

    .home .dd-section-nav,
    .front-page .dd-section-nav {
        min-height: 124px;
        padding-block: 16px;
        font-size: 12px;
    }

    .page-template-page-equip-academic .dd-group-filter-nav a,
    .page-template-page-equip-academic .dd-role-nav a,
    .page-template-page-noticies .dd-news-filters a {
        min-height: 28px;
        padding: 0 9px;
        font-size: 10px;
    }

    .page-template-page-grups-de-recerca .dd-groups h1 {
        font-size: clamp(32px, 9vw, 44px);
    }

    .page-template-page-grups-de-recerca .dd-group h2 {
        font-size: clamp(26px, 8vw, 36px);
    }

    .page-template-page-projectes-i-publicacions .dd-projects__mosaic,
    .dd-projects-page .dd-projects__mosaic {
        width: calc(100% - 28px);
        grid-auto-rows: 300px;
    }

    .page-template-page-projectes-i-publicacions .dd-project-card--featured,
    .dd-projects-page .dd-project-card--featured {
        transform: scale(1);
    }

    .home .dd-copy,
    .front-page .dd-copy {
        font-size: clamp(15px, 4vw, 17px);
    }

    .home .dd-research h2,
    .front-page .dd-research h2 {
        font-size: clamp(30px, 9vw, 42px);
    }

    .home .dd-research__intro p,
    .front-page .dd-research__intro p {
        font-size: clamp(16px, 4.4vw, 18px);
    }
}

/* Compact filters for live WordPress pages */
.dd-team-page .dd-group-filter-nav,
.dd-team-page .dd-role-nav,
.dd-news-page .dd-news-filters {
    gap: 6px;
}

.dd-team-page .dd-group-filter-nav a,
.dd-team-page .dd-role-nav a,
.dd-news-page .dd-news-filters a,
.page-template-page-equip-academic .dd-group-filter-nav a,
.page-template-page-equip-academic .dd-role-nav a,
.page-template-page-equip-academic-php .dd-group-filter-nav a,
.page-template-page-equip-academic-php .dd-role-nav a,
.page-template-page-noticies .dd-news-filters a,
.page-template-page-noticies-php .dd-news-filters a {
    min-height: 24px !important;
    padding: 0 10px !important;
    border-radius: 999px;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

@media (max-width: 680px) {
    .dd-team-page .dd-group-filter-nav a,
    .dd-team-page .dd-role-nav a,
    .dd-news-page .dd-news-filters a,
    .page-template-page-equip-academic .dd-group-filter-nav a,
    .page-template-page-equip-academic .dd-role-nav a,
    .page-template-page-equip-academic-php .dd-group-filter-nav a,
    .page-template-page-equip-academic-php .dd-role-nav a,
    .page-template-page-noticies .dd-news-filters a,
    .page-template-page-noticies-php .dd-news-filters a {
        min-height: 24px !important;
        padding: 0 9px !important;
        font-size: 12px !important;
    }
}

.page-template-page-noticies .dd-news-main h2,
.page-template-page-noticies-php .dd-news-main h2,
.dd-news-page .dd-news-main h2 {
    display: -webkit-box;
    overflow: hidden;
    font-size: clamp(27px, 2.35vw, 38px);
    line-height: 1.02;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.page-template-page-noticies .dd-news-main__copy > p:not(.dd-news-meta),
.page-template-page-noticies-php .dd-news-main__copy > p:not(.dd-news-meta),
.dd-news-page .dd-news-main__copy > p:not(.dd-news-meta) {
    display: -webkit-box;
    overflow: hidden;
    font-size: clamp(14px, 0.95vw, 16px);
    line-height: 1.36;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.single-noticies .single-news__title {
    font-size: clamp(40px, 5vw, 72px);
    line-height: 1;
}

.single-noticies .single-news__excerpt {
    font-size: clamp(19px, 1.8vw, 26px);
    line-height: 1.18;
}

.single-noticies .single-news__content {
    font-size: clamp(16px, 1.05vw, 18px);
    line-height: 1.62;
}

.single-noticies .single-news__content h2 {
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.04;
}

.single-noticies .single-news__content h3 {
    font-size: clamp(21px, 1.7vw, 28px);
    line-height: 1.1;
}

@media (max-width: 820px) {
    .page-template-page-noticies .dd-news-main h2,
    .page-template-page-noticies-php .dd-news-main h2,
    .dd-news-page .dd-news-main h2 {
        font-size: clamp(25px, 5vw, 34px);
    }

    .single-noticies .single-news__title {
        font-size: clamp(34px, 7vw, 52px);
    }

    .single-noticies .single-news__excerpt {
        font-size: clamp(18px, 3.2vw, 22px);
    }
}

@media (max-width: 680px) {
    .page-template-page-noticies .dd-news-main h2,
    .page-template-page-noticies-php .dd-news-main h2,
    .dd-news-page .dd-news-main h2 {
        font-size: clamp(25px, 8vw, 34px);
        -webkit-line-clamp: 2;
    }

    .page-template-page-noticies .dd-news-main__copy > p:not(.dd-news-meta),
    .page-template-page-noticies-php .dd-news-main__copy > p:not(.dd-news-meta),
    .dd-news-page .dd-news-main__copy > p:not(.dd-news-meta) {
        -webkit-line-clamp: 2;
    }

    .single-noticies .single-news__title {
        font-size: clamp(30px, 9vw, 40px);
        line-height: 1.04;
    }

    .single-noticies .single-news__excerpt {
        font-size: clamp(17px, 5vw, 21px);
    }

    .single-noticies .single-news__content {
        font-size: 16px;
        line-height: 1.6;
    }

    .single-noticies .single-news__content h2 {
        font-size: clamp(25px, 8vw, 34px);
    }
}

@media (max-width: 820px) {
    .single-project-detail__facts {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    }

    .single-project-detail__gallery > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .single-project-detail__facts,
    .single-project-detail__columns,
    .single-project-detail__gallery,
    .single-project-detail__publications {
        width: 100%;
    }

    .single-project-detail__facts,
    .single-project-detail__gallery > div {
        grid-template-columns: 1fr;
    }

    .single-project-detail__fact {
        min-height: 96px;
    }
}

.dd-news-page .dd-news-hero {
    width: min(100%, 1480px);
    min-height: clamp(620px, calc(100svh - 132px), 900px);
    padding: clamp(24px, 3.4svh, 42px) clamp(28px, 3vw, 44px) clamp(38px, 5svh, 72px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dd-news-page .dd-news-hero__heading {
    margin-bottom: clamp(20px, 3svh, 42px);
}

.dd-news-page .dd-news-hero h1 {
    font-size: clamp(44px, 5vw, 60px);
    line-height: 0.9;
}

.dd-news-page .dd-news-spotlight {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    gap: clamp(24px, 2.4vw, 38px);
}

.dd-news-page .dd-news-main {
    min-height: clamp(360px, 45svh, 540px);
    grid-template-columns: minmax(470px, 1fr) minmax(430px, 0.92fr);
}

.dd-news-page .dd-news-main__copy {
    padding: clamp(28px, min(4vw, 5svh), 56px);
}

.dd-news-page .dd-news-main h2 {
    margin-bottom: clamp(18px, 2vw, 26px);
    font-size: clamp(34px, min(3.25vw, 6.6svh), 58px);
    line-height: 0.96;
    -webkit-line-clamp: 3;
}

.dd-news-page .dd-news-main__copy > p:not(.dd-news-meta) {
    width: min(100%, 640px);
    margin-bottom: clamp(18px, 2.5vw, 34px);
    font-size: clamp(16px, 1.12vw, 19px);
    line-height: 1.42;
    -webkit-line-clamp: 4;
}

.dd-news-page .dd-news-main a {
    min-height: 48px;
    font-size: 16px;
}

.dd-news-page .dd-news-rail {
    gap: 12px;
}

.dd-news-page .dd-news-rail button {
    min-height: 0;
    padding: clamp(18px, 2vw, 24px);
    font-size: clamp(15px, 1vw, 17px);
    line-height: 1.13;
}

.dd-news-page .dd-news-rail button span {
    margin-bottom: 12px;
    font-size: clamp(12px, 0.85vw, 14px);
}

.dd-news-page .dd-news-feed {
    padding-top: clamp(32px, 5vh, 58px);
}

.dd-projects-page .featured-projectes {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    gap: clamp(24px, 2.4vw, 38px);
}

.dd-projects-page .projecte-main {
    min-height: clamp(360px, 45svh, 540px);
    grid-template-columns: minmax(470px, 1fr) minmax(430px, 0.92fr);
}

.dd-projects-page .projecte-main__copy {
    padding: clamp(28px, min(4vw, 5svh), 56px);
}

.dd-projects-page .projecte-main h2 {
    margin-bottom: clamp(18px, 2vw, 26px);
    font-size: clamp(34px, min(3.25vw, 6.6svh), 58px);
    line-height: 0.96;
    -webkit-line-clamp: 3;
}

.dd-projects-page .projecte-main__copy > p:not(.projecte-meta) {
    width: min(100%, 640px);
    margin-bottom: clamp(18px, 2.5vw, 34px);
    font-size: clamp(16px, 1.12vw, 19px);
    line-height: 1.42;
    -webkit-line-clamp: 4;
}

.dd-projects-page .projecte-main a {
    min-height: 48px;
    font-size: 16px;
}

.dd-projects-page .projecte-rail {
    gap: 12px;
}

.dd-projects-page .projecte-rail button {
    min-height: 0;
    padding: clamp(18px, 2vw, 24px);
    font-size: clamp(15px, 1vw, 17px);
    line-height: 1.13;
}

.dd-projects-page .projecte-rail button span {
    margin-bottom: 12px;
    font-size: clamp(12px, 0.85vw, 14px);
}

@media (max-width: 1024px) {
    .dd-news-page .dd-news-hero {
        min-height: auto;
        padding: 28px 24px 52px;
        justify-content: flex-start;
    }

    .dd-news-page .dd-news-spotlight,
    .dd-news-page .dd-news-main {
        grid-template-columns: 1fr;
    }

    .dd-news-page .dd-news-main {
        min-height: 0;
    }

    .dd-news-page .dd-news-main figure {
        min-height: clamp(280px, 42vw, 430px);
    }

    .dd-news-page .dd-news-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: auto;
    }

    .dd-news-page .dd-news-rail button {
        min-height: 132px;
    }

    .dd-projects-page .featured-projectes,
    .dd-projects-page .projecte-main {
        grid-template-columns: 1fr;
    }

    .dd-projects-page .projecte-main {
        min-height: 0;
    }

    .dd-projects-page .projecte-main figure {
        min-height: clamp(280px, 42vw, 430px);
    }

    .dd-projects-page .projecte-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: auto;
    }

    .dd-projects-page .projecte-rail button {
        min-height: 132px;
    }
}

@media (min-width: 1025px) and (max-height: 780px) {
    .dd-news-page .dd-news-hero {
        min-height: clamp(540px, calc(100svh - 132px), 680px);
        padding-top: clamp(18px, 2.4svh, 28px);
        padding-bottom: clamp(28px, 4svh, 46px);
    }

    .dd-news-page .dd-news-hero__heading {
        margin-bottom: clamp(18px, 2.4svh, 28px);
    }

    .dd-news-page .dd-news-hero h1 {
        font-size: clamp(44px, 8svh, 60px);
    }

    .dd-news-page .dd-news-main {
        min-height: clamp(330px, 42svh, 420px);
        grid-template-columns: minmax(440px, 1fr) minmax(390px, 0.9fr);
    }

    .dd-news-page .dd-news-main__copy {
        padding: clamp(24px, 3.6svh, 36px);
    }

    .dd-news-page .dd-news-main h2 {
        font-size: clamp(30px, 5.1svh, 42px);
        -webkit-line-clamp: 3;
    }

    .dd-news-page .dd-news-main__copy > p:not(.dd-news-meta) {
        font-size: clamp(14px, 2.1svh, 16px);
        -webkit-line-clamp: 3;
    }

    .dd-news-page .dd-news-main a {
        min-height: 40px;
        font-size: 14px;
    }

    .dd-news-page .dd-news-rail button {
        padding: clamp(14px, 2.1svh, 18px);
        font-size: clamp(13px, 1.8svh, 15px);
    }

    .dd-news-page .dd-news-rail button span {
        margin-bottom: 8px;
        font-size: 11px;
    }

    .dd-projects-page .projecte-main {
        min-height: clamp(330px, 42svh, 420px);
        grid-template-columns: minmax(440px, 1fr) minmax(390px, 0.9fr);
    }

    .dd-projects-page .projecte-main__copy {
        padding: clamp(24px, 3.6svh, 36px);
    }

    .dd-projects-page .projecte-main h2 {
        font-size: clamp(30px, 5.1svh, 42px);
        -webkit-line-clamp: 3;
    }

    .dd-projects-page .projecte-main__copy > p:not(.projecte-meta) {
        font-size: clamp(14px, 2.1svh, 16px);
        -webkit-line-clamp: 3;
    }

    .dd-projects-page .projecte-main a {
        min-height: 40px;
        font-size: 14px;
    }

    .dd-projects-page .projecte-rail button {
        padding: clamp(14px, 2.1svh, 18px);
        font-size: clamp(13px, 1.8svh, 15px);
    }

    .dd-projects-page .projecte-rail button span {
        margin-bottom: 8px;
        font-size: 11px;
    }
}

@media (max-width: 680px) {
    .dd-news-page .dd-news-hero {
        padding: 22px 20px 42px;
    }

    .dd-news-page .dd-news-hero h1 {
        font-size: clamp(40px, 13vw, 60px);
    }

    .dd-news-page .dd-news-main__copy {
        padding: 24px 20px;
    }

    .dd-news-page .dd-news-main h2 {
        font-size: clamp(28px, 9vw, 38px);
        line-height: 1;
        -webkit-line-clamp: 3;
    }

    .dd-news-page .dd-news-main__copy > p:not(.dd-news-meta) {
        font-size: 15px;
        -webkit-line-clamp: 3;
    }

    .dd-news-page .dd-news-main figure {
        min-height: 220px;
    }

    .dd-news-page .dd-news-rail {
        grid-template-columns: 1fr;
    }

    .dd-projects-page .projecte-main__copy {
        padding: 24px 20px;
    }

    .dd-projects-page .projecte-main h2 {
        font-size: clamp(28px, 9vw, 38px);
        line-height: 1;
        -webkit-line-clamp: 3;
    }

    .dd-projects-page .projecte-main__copy > p:not(.projecte-meta) {
        font-size: 15px;
        -webkit-line-clamp: 3;
    }

    .dd-projects-page .projecte-main figure {
        min-height: 220px;
    }

    .dd-projects-page .projecte-rail {
        grid-template-columns: 1fr;
    }

    .dd-news-page .dd-news-rail button {
        min-height: 92px;
    }
}

@media (min-width: 821px) {
    .type-heading,
    .dd-hero h1,
    .dd-news-hero h1,
    .single-news__title,
    .dd-projects h1,
    .dd-groups h1,
    .dd-team h1,
    .custom-404 h1 {
        max-width: 100%;
        overflow-wrap: anywhere;
        font-size: 80px !important;
        line-height: 0.94;
    }
}

@media (max-width: 820px) {
    .type-heading,
    .dd-hero h1,
    .dd-news-hero h1,
    .single-news__title,
    .dd-projects h1,
    .dd-groups h1,
    .dd-team h1,
    .custom-404 h1 {
        max-width: 100%;
        overflow-wrap: anywhere;
        font-size: clamp(46px, 10vw, 72px);
        line-height: 0.96;
    }
}

@media (max-width: 680px) {
    .type-heading,
    .dd-hero h1,
    .dd-news-hero h1,
    .single-news__title,
    .dd-projects h1,
    .dd-groups h1,
    .dd-team h1,
    .custom-404 h1 {
        font-size: clamp(38px, 12vw, 56px);
        line-height: 1;
    }
}

@media (min-width: 821px) {
    .home .dd-hero h1,
    .front-page .dd-hero h1 {
        max-width: 780px;
        font-size: clamp(96px, 9.4vw, 122px) !important;
    }
}

@media (min-width: 1024px) and (max-width: 1440px) {
    .home .dd-hero h1,
    .front-page .dd-hero h1 {
        font-size: 90px !important;
    }
}

.page-template-page-noticies .dd-news-hero,
.page-template-page-noticies-php .dd-news-hero,
.dd-news-page .dd-news-hero {
    width: min(100%, 1480px);
}

.page-template-page-noticies .dd-news-spotlight,
.page-template-page-noticies-php .dd-news-spotlight,
.dd-news-page .dd-news-spotlight {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    gap: clamp(24px, 2.4vw, 38px);
}

.page-template-page-noticies .dd-news-main,
.page-template-page-noticies-php .dd-news-main,
.dd-news-page .dd-news-main {
    min-height: clamp(360px, 45svh, 540px);
    grid-template-columns: minmax(470px, 1fr) minmax(430px, 0.92fr);
}

@media (min-width: 1025px) and (max-height: 780px) {
    .page-template-page-noticies .dd-news-main,
    .page-template-page-noticies-php .dd-news-main,
    .dd-news-page .dd-news-main {
        min-height: clamp(330px, 42svh, 420px);
        grid-template-columns: minmax(440px, 1fr) minmax(390px, 0.9fr);
    }
}

@media (max-width: 1024px) {
    .page-template-page-noticies .dd-news-spotlight,
    .page-template-page-noticies-php .dd-news-spotlight,
    .dd-news-page .dd-news-spotlight,
    .page-template-page-noticies .dd-news-main,
    .page-template-page-noticies-php .dd-news-main,
    .dd-news-page .dd-news-main {
        grid-template-columns: 1fr;
    }
}

.single-project-detail .single-news__header {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.46fr);
    column-gap: clamp(28px, 5vw, 72px);
    row-gap: clamp(16px, 2vw, 26px);
    margin-bottom: clamp(26px, 4vw, 44px);
    padding-bottom: clamp(22px, 3vw, 34px);
}

.single-project-detail .single-news__title {
    width: min(100%, 780px);
    font-size: clamp(44px, 4.6vw, 72px) !important;
    line-height: 0.98;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
}

.single-project-detail .single-news__excerpt {
    align-self: start;
    max-height: none;
    padding: clamp(12px, 1.5vw, 18px) 0 0 clamp(14px, 1.8vw, 20px);
    font-family: var(--font-body);
    font-size: clamp(18px, 1.45vw, 24px);
    font-weight: 600;
    line-height: 1.24;
    overflow-wrap: break-word;
}

.single-project-detail .single-news__meta {
    gap: 6px;
    font-size: clamp(10px, 0.78vw, 12px);
    font-weight: 700;
    line-height: 1.25;
}

.single-project-detail .single-news__image {
    margin-bottom: clamp(24px, 4vw, 42px);
}

.single-project-detail__content.single-news__content {
    width: min(100%, 820px);
    color: #262626;
    font-size: clamp(15.5px, 0.95vw, 17px);
    font-weight: 400;
    line-height: 1.62;
    overflow-wrap: break-word;
    word-break: normal;
}

.single-project-detail__content.single-news__content p,
.single-project-detail__content.single-news__content li {
    font-size: inherit;
    line-height: inherit;
}

.single-project-detail__content.single-news__content p,
.single-project-detail__content.single-news__content ul,
.single-project-detail__content.single-news__content ol {
    margin-bottom: 1.15em;
}

.single-project-detail__content.single-news__content h2 {
    margin: 1.65em 0 0.55em;
    font-size: clamp(24px, 2vw, 34px);
    line-height: 1.08;
}

.single-project-detail__content.single-news__content h3 {
    margin: 1.45em 0 0.5em;
    font-size: clamp(19px, 1.35vw, 24px);
    line-height: 1.14;
}

.single-project-detail__content.single-news__content blockquote {
    margin: clamp(22px, 3vw, 32px) 0;
    padding-left: clamp(14px, 1.8vw, 22px);
    font-family: var(--font-body);
    font-size: clamp(18px, 1.3vw, 22px);
    font-weight: 600;
    line-height: 1.3;
}

.single-project-detail__content.single-news__content a {
    font-weight: 700;
}

.single-project-detail__facts {
    width: min(100%, 980px);
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1px;
    border: 1px solid rgba(17, 17, 17, 0.14);
    background: rgba(17, 17, 17, 0.14);
}

.single-project-detail__fact {
    min-height: 0;
    padding: clamp(14px, 1.35vw, 18px);
    justify-content: flex-start;
    gap: 8px;
    border: 0;
    background: #ffffff;
}

.single-project-detail__fact span {
    color: #777777;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;
}

.single-project-detail__fact strong {
    max-width: 28ch;
    font-size: clamp(14px, 0.9vw, 16px);
    font-weight: 500;
    line-height: 1.28;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}

.single-project-detail__columns,
.single-project-detail__gallery,
.single-project-detail__publications {
    margin-top: clamp(34px, 5vw, 58px);
}

.single-project-detail__section {
    padding-top: 16px;
    border-top-width: 3px;
}

.single-project-detail__section h2,
.single-project-detail__gallery h2 {
    margin-bottom: clamp(14px, 1.8vw, 20px);
    font-size: clamp(24px, 2.3vw, 34px);
    line-height: 1.04;
}

.single-project-detail__section li,
.single-project-detail__publications li {
    padding: 10px 0;
    font-size: clamp(15px, 0.95vw, 17px);
    line-height: 1.42;
}

.single-project-detail__publications a {
    font-weight: 700;
}

@media (max-width: 1100px) {
    .single-project-detail .single-news__header {
        grid-template-columns: 1fr;
    }

    .single-project-detail .single-news__title {
        width: 100%;
    }

    .single-project-detail .single-news__excerpt {
        padding-top: 0;
        font-size: clamp(18px, 2.4vw, 22px);
    }

    .single-project-detail__content.single-news__content {
        width: 100%;
    }
}

@media (max-width: 680px) {
    .single-project-detail .single-news__title {
        font-size: clamp(34px, 10vw, 48px) !important;
        line-height: 1.02;
    }

    .single-project-detail .single-news__excerpt {
        padding-left: 16px;
        font-size: clamp(17px, 5vw, 20px);
        line-height: 1.28;
    }

    .single-project-detail .single-news__meta {
        font-size: 11px;
    }

    .single-project-detail__content.single-news__content {
        font-size: 15.5px;
        line-height: 1.58;
    }

    .single-project-detail__content.single-news__content h2,
    .single-project-detail__section h2,
    .single-project-detail__gallery h2 {
        font-size: clamp(22px, 7vw, 30px);
    }

    .single-project-detail__content.single-news__content h3 {
        font-size: clamp(18px, 5.6vw, 23px);
    }

    .single-project-detail__facts {
        grid-template-columns: 1fr;
    }

    .single-project-detail__fact {
        min-height: 82px;
    }
}

.page-template-page-equip-academic .dd-team,
.page-template-page-equip-academic-php .dd-team,
.page-template-page-noticies .dd-news-hero,
.page-template-page-noticies-php .dd-news-hero,
.page-template-page-projectes-i-publicacions .dd-projects,
.page-template-page-projectes-i-publicacions-php .dd-projects {
    padding-top: 0;
}

body.page-template-page-equip-academic #page #content.site-content,
body.page-template-page-equip-academic-php #page #content.site-content,
body.page-template-page-noticies #page #content.site-content,
body.page-template-page-noticies-php #page #content.site-content,
body.page-template-page-projectes-i-publicacions #page #content.site-content,
body.page-template-page-projectes-i-publicacions-php #page #content.site-content {
    padding-top: 0; !important
padding-right: 40px;
padding-bottom: 40px;
padding-left: 40px;
}
