/* ============================================================
   INFINITY SKILL SURGE REPORT 2030
   ISSR-2030
   Standalone Publication Website
   ============================================================ */


/* ============================================================
   01. DESIGN TOKENS
   ============================================================ */

:root {

    --black: #090909;
    --near-black: #111111;
    --charcoal: #181818;

    --white: #ffffff;
    --paper: #f4f2ee;
    --paper-dark: #ebe8e2;

    --red: #d90012;
    --red-dark: #b80010;

    --text: #171717;
    --text-soft: #575757;
    --text-muted: #777777;

    --line: #d6d2ca;
    --line-dark: #3a3a3a;

    --max-width: 1240px;

    --header-height: 82px;

    --transition:
        180ms ease;

}


/* ============================================================
   02. RESET
   ============================================================ */

*,
*::before,
*::after {

    box-sizing: border-box;

}


html {

    margin: 0;
    padding: 0;

    scroll-behavior: smooth;

    scroll-padding-top:
        calc(var(--header-height) + 20px);

}


body {

    margin: 0;
    padding: 0;

    background:
        var(--paper);

    color:
        var(--text);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        16px;

    line-height:
        1.6;

    -webkit-font-smoothing:
        antialiased;

    text-rendering:
        optimizeLegibility;

}


img {

    max-width: 100%;

    height: auto;

    display: block;

}


a {

    color:
        inherit;

}


button,
input,
textarea,
select {

    font:
        inherit;

}


button {

    cursor:
        pointer;

}


/* ============================================================
   03. GLOBAL CONTAINERS
   ============================================================ */

.container {

    width:
        min(
            var(--max-width),
            calc(100% - 64px)
        );

    margin:
        0 auto;

}


section {

    position:
        relative;

}


.two-column-layout {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap:
        80px;

}


/* ============================================================
   04. TYPOGRAPHY
   ============================================================ */

h1,
h2,
h3,
h4 {

    margin-top:
        0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-weight:
        700;

    letter-spacing:
        -0.045em;

}


h1 {

    font-size:
        clamp(
            52px,
            7vw,
            92px
        );

    line-height:
        0.92;

}


h2 {

    font-size:
        clamp(
            38px,
            5vw,
            66px
        );

    line-height:
        1.02;

}


h3 {

    font-size:
        26px;

    line-height:
        1.12;

}


p {

    margin-top:
        0;

}


.section-label {

    margin:
        0 0 18px;

    color:
        var(--text-muted);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.15em;

    line-height:
        1.3;

    text-transform:
        uppercase;

}


.section-label.light {

    color:
        #929292;

}


.lead {

    font-size:
        22px !important;

    line-height:
        1.45;

    color:
        var(--text) !important;

}


/* ============================================================
   05. HEADER
   ============================================================ */

.site-header {

    position:
        sticky;

    top:
        0;

    z-index:
        1000;

    width:
        100%;

    background:
        rgba(
            244,
            242,
            238,
            0.97
        );

    border-bottom:
        1px solid var(--line);

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

}


.header-container {

    width:
        min(
            1380px,
            calc(100% - 48px)
        );

    min-height:
        var(--header-height);

    margin:
        0 auto;

    display:
        flex;

    align-items:
        center;

    gap:
        22px;

}


.brand-lockup {

    display:
        flex;

    align-items:
        center;

    gap:
        14px;

    margin-right:
        auto;

    text-decoration:
        none;

}


.brand-logo {

    object-fit:
        contain;

}


.rri-logo {

    width:
        175px;

}


.skillworks-logo {

    width:
        145px;

}


.brand-divider {

    width:
        1px;

    height:
        36px;

    background:
        #a9a7a2;

}


.main-navigation {

    display:
        flex;

    align-items:
        center;

    gap:
        16px;

}


.main-navigation a {

    position:
        relative;

    padding:
        5px 0;

    color:
        var(--text);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.07em;

    text-decoration:
        none;

    text-transform:
        uppercase;

}


.main-navigation a::after {

    content:
        "";

    position:
        absolute;

    left:
        0;

    bottom:
        0;

    width:
        0;

    height:
        1px;

    background:
        var(--red);

    transition:
        width var(--transition);

}


.main-navigation a:hover::after {

    width:
        100%;

}


.header-button {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        11px 15px;

    background:
        var(--black);

    color:
        var(--white);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.04em;

    text-decoration:
        none;

    text-transform:
        uppercase;

    transition:
        background var(--transition);

}


.header-button:hover {

    background:
        var(--red);

}


.mobile-menu-button {

    display:
        none;

    width:
        42px;

    height:
        42px;

    border:
        0;

    background:
        transparent;

    color:
        var(--black);

    font-size:
        25px;

    line-height:
        1;

}


.mobile-navigation {

    display:
        none;

}


/* ============================================================
   06. HERO
   ============================================================ */

.hero-section {

    overflow:
        hidden;

    padding:
        88px 0 96px;

    background:
        var(--black);

    color:
        var(--white);

}


.hero-container {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(360px, 0.75fr);

    gap:
        75px;

    align-items:
        center;

}


.hero-content {

    min-width:
        0;

}


.eyebrow {

    margin:
        0 0 22px;

    color:
        #aaa;

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;

}


.hero-content h1 {

    margin:
        0 0 28px;

    color:
        var(--white);

}


.hero-content h1 span {

    display:
        block;

    color:
        var(--red);

}


.hero-subtitle {

    margin:
        0 0 42px;

    color:
        #d4d4d4;

    font-size:
        clamp(
            22px,
            2.7vw,
            35px
        );

    line-height:
        1.15;

    letter-spacing:
        -0.025em;

}


.hero-information {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        20px;

    padding:
        24px 0 0;

    border-top:
        1px solid #3b3b3b;

}


.hero-information-item {

    display:
        flex;

    flex-direction:
        column;

    gap:
        5px;

}


.hero-information-item span {

    color:
        #8e8e8e;

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        0.1em;

    line-height:
        1.4;

    text-transform:
        uppercase;

}


.hero-information-item strong {

    color:
        var(--white);

    font-size:
        14px;

    line-height:
        1.35;

}


.hero-information-item em {

    color:
        #aaa;

    font-size:
        11px;

    font-style:
        normal;

}


.hero-link {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        12px;

    margin-top:
        40px;

    padding-bottom:
        8px;

    border-bottom:
        1px solid #666;

    color:
        var(--white);

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        0.04em;

    text-decoration:
        none;

    text-transform:
        uppercase;

    transition:
        border-color var(--transition),
        color var(--transition);

}


.hero-link:hover {

    color:
        var(--red);

    border-color:
        var(--red);

}


.hero-cover {

    margin:
        0;

}


.hero-cover img {

    width:
        100%;

    box-shadow:
        0 28px 70px
        rgba(
            0,
            0,
            0,
            0.55
        );

}


.hero-cover figcaption {

    margin-top:
        13px;

    color:
        #777;

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;

}


/* ============================================================
   07. ABSTRACT
   ============================================================ */

.abstract-section {

    padding:
        110px 0;

    background:
        var(--paper);

}


.abstract-section h2 {

    margin:
        0;

}


.abstract-section .two-column-layout > div:last-child {

    padding-top:
        4px;

}


.abstract-section p:not(.section-label) {

    color:
        var(--text-soft);

    font-size:
        17px;

}


.independence-note {

    margin-top:
        35px;

    padding:
        4px 0 4px 20px;

    border-left:
        3px solid var(--red);

}


.independence-note strong {

    display:
        block;

    margin-bottom:
        8px;

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

}


.independence-note p {

    margin:
        0;

    font-size:
        14px !important;

}


/* ============================================================
   08. RESEARCH NUMBERS
   ============================================================ */

.numbers-section {

    padding:
        100px 0;

    background:
        var(--black);

    color:
        var(--white);

}


.numbers-section h2 {

    margin:
        8px 0 50px;

}


.numbers-grid {

    display:
        grid;

    grid-template-columns:
        repeat(5, 1fr);

    border-top:
        1px solid #3a3a3a;

}


.number-card {

    min-height:
        150px;

    padding:
        28px 18px 15px 0;

    border-right:
        1px solid #3a3a3a;

}


.number-card + .number-card {

    padding-left:
        18px;

}


.number-card:last-child {

    border-right:
        0;

}


.number-card strong {

    display:
        block;

    color:
        var(--white);

    font-size:
        clamp(
            32px,
            3.2vw,
            48px
        );

    font-weight:
        700;

    letter-spacing:
        -0.045em;

    line-height:
        1;

}


.number-card span {

    display:
        block;

    max-width:
        175px;

    margin-top:
        13px;

    color:
        #929292;

    font-size:
        11px;

    line-height:
        1.5;

}


/* ============================================================
   09. RESEARCH / METHODOLOGY
   ============================================================ */

.research-section {

    padding:
        110px 0;

    background:
        var(--paper);

}


.research-section h2 {

    margin:
        0;

}


.research-section .two-column-layout > div:last-child p {

    color:
        var(--text-soft);

    font-size:
        17px;

}


.methodology-flow {

    display:
        grid;

    grid-template-columns:
        repeat(5, 1fr);

    margin:
        70px 0 25px;

    padding:
        0;

    list-style:
        none;

    border-top:
        1px solid var(--line);

    border-bottom:
        1px solid var(--line);

}


.methodology-flow li {

    min-height:
        155px;

    padding:
        25px 18px 25px 0;

    border-right:
        1px solid var(--line);

}


.methodology-flow li + li {

    padding-left:
        18px;

}


.methodology-flow li:last-child {

    border-right:
        0;

}


.methodology-flow span {

    display:
        block;

    margin-bottom:
        22px;

    color:
        var(--red);

    font-size:
        11px;

    font-weight:
        800;

}


.methodology-flow strong {

    display:
        block;

    max-width:
        160px;

    font-size:
        15px;

    line-height:
        1.3;

}


.methodology-note {

    max-width:
        850px;

    color:
        var(--text-muted);

    font-size:
        12px;

}


/* ============================================================
   10. ARCHITECTURE
   ============================================================ */

.architecture-section {

    padding:
        110px 0;

    background:
        var(--near-black);

    color:
        var(--white);

}


.architecture-introduction {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        80px;

}


.architecture-introduction h2 {

    margin:
        0;

}


.architecture-introduction p {

    color:
        #a5a5a5;

    font-size:
        17px;

}


.architecture-introduction strong {

    color:
        var(--white);

}


.architecture-chain {

    display:
        grid;

    grid-template-columns:
        repeat(4, 1fr);

    margin:
        58px 0;

    border-top:
        1px solid #3b3b3b;

    border-bottom:
        1px solid #3b3b3b;

}


.architecture-chain div {

    min-height:
        100px;

    padding:
        22px 18px 22px 0;

    border-right:
        1px solid #3b3b3b;

}


.architecture-chain div + div {

    padding-left:
        18px;

}


.architecture-chain div:last-child {

    border-right:
        0;

}


.architecture-chain span {

    display:
        block;

    margin-bottom:
        10px;

    color:
        #666;

    font-size:
        10px;

    font-weight:
        800;

}


.architecture-chain strong {

    font-size:
        16px;

}


.domain-grid {

    display:
        grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap:
        12px;

}


.domain-card {

    position:
        relative;

    min-height:
        300px;

    padding:
        22px;

    overflow:
        hidden;

    background:
        #181818;

    border:
        1px solid #292929;

    transition:
        transform var(--transition),
        border-color var(--transition);

}


.domain-card:hover {

    transform:
        translateY(-4px);

    border-color:
        #555;

}


.domain-header {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        10px;

    color:
        #888;

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        0.09em;

    text-transform:
        uppercase;

}


.domain-card h3 {

    position:
        relative;

    z-index:
        2;

    margin:
        68px 0 12px;

    color:
        var(--white);

    font-size:
        22px;

}


.domain-card p {

    position:
        relative;

    z-index:
        2;

    margin:
        0;

    color:
        #929292;

    font-size:
        12px;

}


.domain-number {

    position:
        absolute;

    right:
        14px;

    bottom:
        -9px;

    color:
        #252525;

    font-size:
        72px;

    font-weight:
        900;

    line-height:
        1;

    letter-spacing:
        -0.08em;

}


/* ============================================================
   11. FINDINGS
   ============================================================ */

.findings-section {

    padding:
        110px 0;

    background:
        var(--paper);

}


.findings-section h2 {

    margin:
        0;

}


.findings-section .two-column-layout > div:last-child p {

    color:
        var(--text-soft);

    font-size:
        17px;

}


.findings-list {

    margin:
        65px 0 0;

    padding:
        0;

    list-style:
        none;

}


.findings-list li {

    display:
        grid;

    grid-template-columns:
        80px 1fr;

    gap:
        20px;

    padding:
        26px 0;

    border-top:
        1px solid var(--line);

}


.findings-list li:last-child {

    border-bottom:
        1px solid var(--line);

}


.findings-list span {

    color:
        var(--red);

    font-size:
        11px;

    font-weight:
        800;

}


.findings-list p {

    max-width:
        900px;

    margin:
        0;

    font-size:
        23px;

    line-height:
        1.3;

    letter-spacing:
        -0.015em;

}


/* ============================================================
   12. UPM MODEL
   ============================================================ */

.upm-section {

    padding:
        110px 0;

    background:
        var(--black);

    color:
        var(--white);

}


.upm-heading {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        50px;

}


.upm-heading h2 {

    margin:
        0 0 12px;

}


.upm-heading p {

    max-width:
        650px;

    margin:
        0;

    color:
        #969696;

    font-size:
        16px;

}


.upm-wordmark {

    flex:
        0 0 auto;

    color:
        #fff;

    font-size:
        72px;

    font-weight:
        900;

    line-height:
        0.8;

    letter-spacing:
        -0.09em;

}


.upm-wordmark span {

    color:
        var(--red);

}


.upm-flow {

    display:
        grid;

    grid-template-columns:
        1fr 60px 1fr 60px 1fr;

    gap:
        0;

    align-items:
        center;

    margin-top:
        65px;

}


.upm-step {

    min-height:
        180px;

    padding:
        22px 20px 10px 0;

    border-top:
        1px solid #3c3c3c;

}


.upm-step + .upm-step {

    padding-left:
        20px;

}


.upm-step > span {

    color:
        #666;

    font-size:
        10px;

    font-weight:
        800;

}


.upm-step h3 {

    margin:
        24px 0 6px;

    color:
        var(--white);

    font-size:
        31px;

}


.upm-step p {

    margin:
        0;

    color:
        #929292;

    font-size:
        13px;

}


.upm-arrow {

    color:
        #555;

    font-size:
        32px;

    text-align:
        center;

}


/* ============================================================
   13. STAKEHOLDERS
   ============================================================ */

.stakeholder-section {

    padding:
        110px 0;

    background:
        var(--paper);

}


.stakeholder-section h2 {

    margin:
        0;

}


.stakeholder-section .two-column-layout > div:last-child p {

    color:
        var(--text-soft);

    font-size:
        17px;

}


.stakeholder-grid {

    display:
        grid;

    grid-template-columns:
        repeat(4, 1fr);

    margin-top:
        62px;

    border-top:
        1px solid var(--line);

}


.stakeholder-grid > div {

    min-height:
        190px;

    padding:
        25px 20px 20px 0;

    border-right:
        1px solid var(--line);

}


.stakeholder-grid > div + div {

    padding-left:
        20px;

}


.stakeholder-grid > div:last-child {

    border-right:
        0;

}


.stakeholder-grid span {

    color:
        var(--red);

    font-size:
        11px;

    font-weight:
        800;

}


.stakeholder-grid h3 {

    margin:
        30px 0 5px;

    font-size:
        28px;

}


.stakeholder-grid p {

    margin:
        0;

    color:
        var(--text-muted);

    font-size:
        12px;

}


/* ============================================================
   14. PUBLICATIONS
   ============================================================ */

.publications-section {

    padding:
        110px 0;

    background:
        var(--paper-dark);

}


.publications-section > .container > h2 {

    max-width:
        850px;

    margin:
        0 0 65px;

}


.publication-list {

    border-top:
        1px solid #bdb9b1;

}


.publication-record {

    display:
        grid;

    grid-template-columns:
        150px
        minmax(0, 1fr)
        220px;

    gap:
        35px;

    padding:
        38px 0;

    border-bottom:
        1px solid #bdb9b1;

}


.publication-number {

    color:
        var(--text-muted);

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        0.1em;

    text-transform:
        uppercase;

}


.publication-main h3 {

    margin:
        0 0 8px;

    font-size:
        28px;

}


.publication-subtitle {

    margin:
        0;

    color:
        #666;

    font-size:
        14px;

}


.publication-main dl {

    margin:
        28px 0 0;

}


.publication-main dl div {

    display:
        grid;

    grid-template-columns:
        190px
        1fr;

    padding:
        8px 0;

    border-top:
        1px solid #d2cec6;

    font-size:
        12px;

}


.publication-main dt {

    color:
        var(--text-muted);

}


.publication-main dd {

    margin:
        0;

}


.publication-action {

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        flex-end;

    align-items:
        flex-start;

    gap:
        14px;

}


.publication-action span {

    color:
        #888;

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        0.1em;

    text-transform:
        uppercase;

}


.publication-action a {

    color:
        var(--text);

    font-size:
        12px;

    font-weight:
        800;

    text-decoration:
        none;

    border-bottom:
        1px solid #999;

    padding-bottom:
        6px;

}


.publication-action a:hover {

    color:
        var(--red);

    border-color:
        var(--red);

}


/* ============================================================
   15. BIBLIOGRAPHIC IDENTITY
   ============================================================ */

.bibliographic-section {

    padding:
        110px 0;

    background:
        var(--paper);

}


.bibliographic-section h2 {

    margin:
        0 0 25px;

}


.bibliographic-section .two-column-layout > div:first-child p:not(.section-label) {

    color:
        var(--text-soft);

    font-size:
        16px;

}


.bibliographic-data {

    margin:
        0;

}


.bibliographic-data div {

    display:
        grid;

    grid-template-columns:
        150px
        1fr;

    gap:
        20px;

    padding:
        11px 0;

    border-top:
        1px solid var(--line);

    font-size:
        13px;

}


.bibliographic-data dt {

    color:
        var(--text-muted);

}


.bibliographic-data dd {

    margin:
        0;

}


.citation-block {

    margin:
        60px 0 0;

    padding:
        17px 0 0;

    border-top:
        2px solid var(--black);

}


.citation-block figcaption {

    margin-bottom:
        18px;

    color:
        var(--text-muted);

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;

}


.citation-block blockquote {

    max-width:
        900px;

    margin:
        0;

    font-size:
        19px;

    line-height:
        1.5;

}


/* ============================================================
   16. AUTHOR
   ============================================================ */

.author-section {

    padding:
        110px 0;

    background:
        var(--near-black);

    color:
        var(--white);

}


.author-layout {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        80px;

}


.author-layout h2 {

    margin:
        15px 0 0;

    color:
        var(--white);

    font-size:
        clamp(
            60px,
            8vw,
            110px
        );

    line-height:
        0.86;

}


.author-profile {

    align-self:
        end;

}


.author-profile > span {

    color:
        #999;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;

}


.author-profile p {

    max-width:
        650px;

    margin:
        24px 0 0;

    color:
        #c4c4c4;

    font-size:
        19px;

    line-height:
        1.55;

}


.author-rule {

    width:
        70px;

    height:
        3px;

    margin-top:
        35px;

    background:
        var(--red);

}


/* ============================================================
   17. ORGANISATIONS
   ============================================================ */

.organisations-section {

    padding:
        110px 0;

    background:
        var(--paper);

}


.organisation-grid {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        20px;

    margin-top:
        58px;

}


.organisation-card {

    min-height:
        310px;

    padding:
        35px;

    border:
        1px solid var(--line);

    background:
        rgba(
            255,
            255,
            255,
            0.2
        );

}


.organisation-card img {

    width:
        240px;

    height:
        85px;

    margin-bottom:
        30px;

    object-fit:
        contain;

    object-position:
        left center;

}


.organisation-card h3 {

    margin:
        0 0 12px;

    font-size:
        20px;

}


.organisation-card p {

    max-width:
        550px;

    margin:
        0;

    color:
        var(--text-muted);

    font-size:
        14px;

}


/* ============================================================
   18. CONTACT
   ============================================================ */

.contact-section {

    padding:
        110px 0;

    background:
        var(--black);

    color:
        var(--white);

}


.contact-section h2 {

    margin:
        0;

    color:
        var(--white);

}


.contact-section .two-column-layout > div:last-child {

    padding-top:
        8px;

}


.contact-section p:not(.section-label) {

    color:
        #aaa;

    font-size:
        17px;

}


.contact-email {

    display:
        inline-block;

    margin-top:
        15px;

    padding-bottom:
        7px;

    color:
        var(--white);

    font-size:
        14px;

    font-weight:
        800;

    text-decoration:
        none;

    border-bottom:
        1px solid #555;

}


.contact-email:hover {

    color:
        var(--red);

    border-color:
        var(--red);

}


/* ============================================================
   19. FOOTER
   ============================================================ */

.site-footer {

    padding:
        55px 0 25px;

    background:
        #050505;

    color:
        var(--white);

}


.footer-logos {

    display:
        flex;

    align-items:
        center;

    gap:
        25px;

    padding-bottom:
        35px;

    border-bottom:
        1px solid #2d2d2d;

}


.footer-logos img {

    width:
        180px;

    height:
        55px;

    object-fit:
        contain;

    object-position:
        left center;

}


.footer-grid {

    display:
        grid;

    grid-template-columns:
        2fr 1fr 1fr;

    gap:
        45px;

    padding:
        35px 0;

}


.footer-grid strong {

    display:
        block;

    margin-bottom:
        8px;

    font-size:
        15px;

}


.footer-grid span {

    color:
        #707070;

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        0.1em;

    text-transform:
        uppercase;

}


.footer-grid p {

    margin:
        7px 0 18px;

    color:
        #999;

    font-size:
        12px;

}


.footer-bottom {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    padding-top:
        20px;

    border-top:
        1px solid #2d2d2d;

    color:
        #686868;

    font-size:
        10px;

}


.footer-bottom a {

    color:
        #aaa;

    font-weight:
        700;

    text-decoration:
        none;

}


.footer-bottom a:hover {

    color:
        var(--red);

}


/* ============================================================
   20. TABLET
============================================================ */

@media (max-width: 1150px) {


    .main-navigation {

        gap:
            11px;

    }


    .main-navigation a {

        font-size:
            9px;

    }


    .header-button {

        display:
            none;

    }


    .hero-container {

        gap:
            50px;

    }


    .domain-grid {

        grid-template-columns:
            repeat(3, 1fr);

    }


    .domain-card:nth-child(4) {

        grid-column:
            span 1;

    }


    .domain-card:nth-child(5) {

        grid-column:
            span 1;

    }


}


/* ============================================================
   21. TABLET / SMALL LAPTOP
============================================================ */

@media (max-width: 900px) {


    :root {

        --header-height:
            70px;

    }


    .main-navigation {

        display:
            none;

    }


    .mobile-menu-button {

        display:
            block;

    }


    .mobile-navigation {

        padding:
            0 24px 20px;

        background:
            var(--paper);

        border-top:
            1px solid var(--line);

    }


    .mobile-navigation.open {

        display:
            grid;

        grid-template-columns:
            repeat(2, 1fr);

        gap:
            6px;

    }


    .mobile-navigation a {

        padding:
            12px 8px;

        border-bottom:
            1px solid var(--line);

        font-size:
            11px;

        font-weight:
            800;

        letter-spacing:
            0.06em;

        text-decoration:
            none;

        text-transform:
            uppercase;

    }


    .hero-container {

        grid-template-columns:
            1fr;

    }


    .hero-cover {

        max-width:
            600px;

    }


    .two-column-layout {

        grid-template-columns:
            1fr;

        gap:
            40px;

    }


    .architecture-introduction {

        grid-template-columns:
            1fr;

        gap:
            35px;

    }


    .numbers-grid {

        grid-template-columns:
            repeat(3, 1fr);

    }


    .number-card:nth-child(3) {

        border-right:
            0;

    }


    .number-card:nth-child(4) {

        border-top:
            1px solid #3a3a3a;

    }


    .number-card:nth-child(5) {

        border-top:
            1px solid #3a3a3a;

    }


    .methodology-flow {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .methodology-flow li:nth-child(2) {

        border-right:
            0;

    }


    .methodology-flow li:nth-child(3) {

        border-top:
            1px solid var(--line);

    }


    .methodology-flow li:nth-child(4) {

        border-top:
            1px solid var(--line);

        border-right:
            0;

    }


    .methodology-flow li:nth-child(5) {

        border-top:
            1px solid var(--line);

    }


    .publication-record {

        grid-template-columns:
            120px
            1fr;

    }


    .publication-action {

        grid-column:
            2;

    }


    .stakeholder-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .stakeholder-grid > div:nth-child(2) {

        border-right:
            0;

    }


    .stakeholder-grid > div:nth-child(3) {

        border-top:
            1px solid var(--line);

    }


    .stakeholder-grid > div:nth-child(4) {

        border-top:
            1px solid var(--line);

    }


    .organisation-grid {

        grid-template-columns:
            1fr;

    }


    .author-layout {

        grid-template-columns:
            1fr;

        gap:
            55px;

    }


    .footer-grid {

        grid-template-columns:
            1fr 1fr;

    }


    .footer-grid > div:first-child {

        grid-column:
            1 / -1;

    }


}


/* ============================================================
   22. MOBILE
============================================================ */

@media (max-width: 650px) {


    .container {

        width:
            calc(100% - 34px);

    }


    .header-container {

        width:
            calc(100% - 28px);

        min-height:
            68px;

    }


    .brand-lockup {

        gap:
            9px;

    }


    .rri-logo {

        width:
            125px;

    }


    .skillworks-logo {

        width:
            100px;

    }


    .brand-divider {

        height:
            28px;

    }


    .hero-section,
    .abstract-section,
    .research-section,
    .architecture-section,
    .findings-section,
    .upm-section,
    .stakeholder-section,
    .publications-section,
    .bibliographic-section,
    .author-section,
    .organisations-section,
    .contact-section {

        padding-top:
            75px;

        padding-bottom:
            75px;

    }


    .hero-content h1 {

        font-size:
            50px;

    }


    .hero-subtitle {

        font-size:
            24px;

    }


    .hero-information {

        grid-template-columns:
            1fr;

    }


    .hero-cover {

        width:
            100%;

    }


    .numbers-section {

        padding:
            75px 0;

    }


    .numbers-grid {

        grid-template-columns:
            1fr 1fr;

    }


    .number-card {

        min-height:
            130px;

        border-right:
            1px solid #3a3a3a;

    }


    .number-card:nth-child(2) {

        border-right:
            0;

    }


    .number-card:nth-child(3) {

        border-top:
            1px solid #3a3a3a;

        border-right:
            1px solid #3a3a3a;

    }


    .number-card:nth-child(4) {

        border-top:
            1px solid #3a3a3a;

    }


    .number-card:nth-child(5) {

        grid-column:
            1 / -1;

        border-top:
            1px solid #3a3a3a;

        border-right:
            0;

    }


    .number-card + .number-card {

        padding-left:
            15px;

    }


    .architecture-chain {

        grid-template-columns:
            1fr 1fr;

    }


    .architecture-chain div:nth-child(2) {

        border-right:
            0;

    }


    .architecture-chain div:nth-child(3),
    .architecture-chain div:nth-child(4) {

        border-top:
            1px solid #3b3b3b;

    }


    .architecture-chain div:nth-child(4) {

        border-right:
            0;

    }


    .domain-grid {

        grid-template-columns:
            1fr;

    }


    .domain-card {

        min-height:
            260px;

    }


    .domain-card:nth-child(4),
    .domain-card:nth-child(5) {

        grid-column:
            auto;

    }


    .findings-list li {

        grid-template-columns:
            45px 1fr;

        gap:
            10px;

    }


    .findings-list p {

        font-size:
            19px;

    }


    .methodology-flow {

        grid-template-columns:
            1fr;

    }


    .methodology-flow li,
    .methodology-flow li + li {

        min-height:
            auto;

        padding:
            20px 0;

        border-right:
            0;

        border-top:
            0;

        border-bottom:
            1px solid var(--line);

    }


    .methodology-flow li:last-child {

        border-bottom:
            0;

    }


    .methodology-flow li:nth-child(3),
    .methodology-flow li:nth-child(4),
    .methodology-flow li:nth-child(5) {

        border-top:
            0;

    }


    .methodology-flow li + li {

        padding-left:
            0;

    }


    .upm-heading {

        display:
            block;

    }


    .upm-wordmark {

        margin-top:
            35px;

        font-size:
            58px;

    }


    .upm-flow {

        grid-template-columns:
            1fr;

        gap:
            0;

    }


    .upm-step,
    .upm-step + .upm-step {

        min-height:
            auto;

        padding:
            25px 0;

    }


    .upm-arrow {

        display:
            none;

    }


    .stakeholder-grid {

        grid-template-columns:
            1fr;

    }


    .stakeholder-grid > div,
    .stakeholder-grid > div + div {

        min-height:
            auto;

        padding:
            24px 0;

        border-right:
            0;

        border-bottom:
            1px solid var(--line);

    }


    .stakeholder-grid > div:nth-child(3),
    .stakeholder-grid > div:nth-child(4) {

        border-top:
            0;

    }


    .stakeholder-grid > div:last-child {

        border-bottom:
            0;

    }


    .publication-record {

        grid-template-columns:
            1fr;

        gap:
            20px;

    }


    .publication-action {

        grid-column:
            auto;

    }


    .publication-main h3 {

        font-size:
            23px;

    }


    .publication-main dl div {

        grid-template-columns:
            1fr;

        gap:
            3px;

    }


    .bibliographic-data div {

        grid-template-columns:
            1fr;

        gap:
            3px;

    }


    .organisation-card {

        min-height:
            auto;

        padding:
            25px;

    }


    .organisation-card img {

        width:
            190px;

        height:
            70px;

    }


    .author-layout {

        gap:
            45px;

    }


    .author-layout h2 {

        font-size:
            64px;

    }


    .author-profile p {

        font-size:
            17px;

    }


    .footer-logos {

        flex-wrap:
            wrap;

    }


    .footer-logos img {

        width:
            150px;

        height:
            50px;

    }


    .footer-grid {

        grid-template-columns:
            1fr;

        gap:
            20px;

    }


    .footer-grid > div:first-child {

        grid-column:
            auto;

    }


    .footer-bottom {

        flex-direction:
            column;

        align-items:
            flex-start;

    }


}


/* ============================================================
   23. VERY SMALL MOBILE
============================================================ */

@media (max-width: 400px) {


    .rri-logo {

        width:
            110px;

    }


    .skillworks-logo {

        width:
            88px;

    }


    .hero-content h1 {

        font-size:
            43px;

    }


    .hero-subtitle {

        font-size:
            21px;

    }


    .numbers-grid {

        grid-template-columns:
            1fr;

    }


    .number-card,
    .number-card:nth-child(2),
    .number-card:nth-child(3),
    .number-card:nth-child(4),
    .number-card:nth-child(5) {

        grid-column:
            auto;

        border-right:
            0;

        border-top:
            1px solid #3a3a3a;

    }


}


/* ============================================================
   24. ACCESSIBILITY
============================================================ */

a:focus-visible,
button:focus-visible {

    outline:
        3px solid var(--red);

    outline-offset:
        4px;

}


/* ============================================================
   25. PRINT
============================================================ */

@media print {


    .site-header,
    .mobile-navigation,
    .header-button,
    .mobile-menu-button {

        display:
            none !important;

    }


    body {

        background:
            white;

    }


    section {

        break-inside:
            avoid;

    }


}

/* =========================================================
   ISSR-2030 PUBLICATION SECTION
   ========================================================= */

.publications-section {
    background: #ffffff;
}

.publication-feature {
    display: grid;
    grid-template-columns: minmax(280px, 420px) 1fr;
    gap: 72px;
    align-items: center;
    margin-top: 56px;
}

.publication-cover {
    display: flex;
    justify-content: center;
    align-items: center;
}

.publication-cover img {
    display: block;
    width: 100%;
    max-width: 390px;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
}

.publication-details {
    max-width: 720px;
}

.publication-status {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 12px;
    border: 1px solid #c8102e;
    color: #c8102e;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.publication-details h3 {
    margin: 0;
    color: #111111;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.08;
    font-weight: 800;
}

.publication-subtitle {
    margin: 16px 0 24px;
    color: #c8102e;
    font-size: 1.15rem;
    line-height: 1.5;
    font-weight: 600;
}

.publication-details > p:not(.publication-subtitle) {
    margin: 0;
    max-width: 680px;
    color: #555555;
    font-size: 1rem;
    line-height: 1.8;
}

.publication-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 36px;
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid #dddddd;
}

.publication-meta-item {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.publication-meta-item span {
    color: #777777;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.publication-meta-item strong {
    color: #171717;
    font-size: 0.95rem;
    line-height: 1.45;
}

.publication-identifiers {
    display: flex;
    gap: 36px;
    margin-top: 28px;
    padding: 20px 0;
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
}

.publication-identifiers div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.publication-identifiers span {
    color: #777777;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.publication-identifiers strong {
    color: #c8102e;
    font-size: 0.9rem;
}

.publication-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.publication-secondary {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 48px;
    align-items: center;
    margin-top: 80px;
    padding: 42px 48px;
    background: #111111;
    color: #ffffff;
}

.publication-secondary h3 {
    margin: 10px 0 12px;
    color: #ffffff;
    font-size: 1.7rem;
}

.publication-secondary p {
    max-width: 720px;
    margin: 0;
    color: #cccccc;
    line-height: 1.75;
}

.publication-secondary .eyebrow {
    color: #c8102e;
}

.publication-secondary-meta {
    display: grid;
    grid-template-columns: auto auto;
    gap: 10px 24px;
    min-width: 150px;
}

.publication-secondary-meta span {
    color: #999999;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.publication-secondary-meta strong {
    color: #ffffff;
    font-size: 0.9rem;
}

.bibliographic-identity {
    margin-top: 64px;
    padding-top: 28px;
    border-top: 1px solid #dddddd;
}

.bibliographic-identity .eyebrow {
    display: block;
    margin-bottom: 16px;
}

.bibliographic-identity p {
    max-width: 900px;
    margin: 0;
    color: #444444;
    font-size: 0.95rem;
    line-height: 1.8;
}

.bibliographic-identity .bibliographic-note {
    margin-top: 10px;
    color: #888888;
    font-size: 0.82rem;
}


/* =========================================================
   PUBLICATION RESPONSIVE LAYOUT
   ========================================================= */

@media (max-width: 900px) {

    .publication-feature {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .publication-cover img {
        max-width: 340px;
    }

    .publication-details {
        max-width: none;
    }

    .publication-secondary {
        grid-template-columns: 1fr;
        gap: 28px;
    }

}


@media (max-width: 600px) {

    .publication-feature {
        margin-top: 36px;
        gap: 36px;
    }

    .publication-cover img {
        max-width: 280px;
    }

    .publication-meta {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .publication-identifiers {
        gap: 28px;
    }

    .publication-secondary {
        margin-top: 56px;
        padding: 30px 24px;
    }

    .publication-secondary h3 {
        font-size: 1.4rem;
    }

    .publication-actions {
        flex-direction: column;
    }

    .publication-actions .btn {
        width: 100%;
        text-align: center;
    }

}

/* =========================================================
   PUBLICATION DOWNLOAD BUTTONS
   ========================================================= */

.publication-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 24px;
    border: 1px solid transparent;
    border-radius: 2px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
    cursor: pointer;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.publication-actions .btn-primary {
    background: #c8102e;
    color: #ffffff;
    border-color: #c8102e;
}

.publication-actions .btn-primary:hover {
    background: #111111;
    color: #ffffff;
    border-color: #111111;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16);
}

.publication-actions .btn-secondary {
    background: #111111;
    color: #ffffff;
    border-color: #111111;
}

.publication-actions .btn-secondary:hover {
    background: #ffffff;
    color: #111111;
    border-color: #111111;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.publication-actions .btn:focus-visible {
    outline: 3px solid #c8102e;
    outline-offset: 3px;
}

/* =========================================================
   EXECUTIVE SUMMARY ACCESS PAGE
   ========================================================= */

/* ---------- Header additions ---------- */

.header-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid #111111;
    color: #111111;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.header-back-link:hover {
    background: #c8102e;
    border-color: #c8102e;
    color: #ffffff;
}


/* ---------- Access Hero ---------- */

.access-hero {
    position: relative;
    overflow: hidden;
    background: #111111;
    color: #ffffff;
    padding: 88px 0 92px;
}

.access-hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 42%;
    height: 100%;
    background:
        linear-gradient(
            135deg,
            transparent 0%,
            rgba(200, 16, 46, 0.08) 100%
        );
    pointer-events: none;
}

.access-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    gap: 72px;
    align-items: center;
}

.access-hero-content {
    max-width: 760px;
}

.access-hero .eyebrow {
    display: inline-block;
    margin-bottom: 22px;
    color: #c8102e;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.access-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.6rem, 5vw, 5rem);
    line-height: 1.02;
    letter-spacing: -0.035em;
    font-weight: 800;
}

.access-hero h1 span {
    color: #c8102e;
}

.access-hero-subtitle {
    max-width: 700px;
    margin: 28px 0 0;
    color: #eeeeee;
    font-size: 1.18rem;
    line-height: 1.7;
}

.access-hero-description {
    max-width: 620px;
    margin: 20px 0 0;
    color: #aaaaaa;
    font-size: 0.96rem;
    line-height: 1.7;
}

.access-hero-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.access-hero-visual img {
    display: block;
    width: 100%;
    max-width: 360px;
    height: auto;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}


/* ---------- Form Section ---------- */

.access-form-section {
    background: #f6f6f6;
    padding: 92px 0;
}

.access-form-wrapper {
    max-width: 920px;
    margin: 0 auto;
}

.access-form-intro {
    max-width: 720px;
    margin-bottom: 42px;
}

.access-form-intro .eyebrow {
    display: block;
    margin-bottom: 14px;
    color: #c8102e;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.access-form-intro h2 {
    margin: 0;
    color: #111111;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.access-form-intro p {
    margin: 18px 0 0;
    color: #666666;
    font-size: 1rem;
    line-height: 1.75;
}


/* ---------- Zoho Form Container ---------- */

.zoho-form-container {
    width: 100%;
}

.zoho-form-placeholder {
    padding: 48px;
    background: #ffffff;
    border: 1px solid #dddddd;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.07);
}

.placeholder-label {
    display: inline-block;
    margin-bottom: 14px;
    color: #c8102e;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.zoho-form-placeholder h3 {
    margin: 0;
    color: #111111;
    font-size: 1.7rem;
    line-height: 1.2;
}

.zoho-form-placeholder > p {
    margin: 12px 0 30px;
    color: #777777;
    line-height: 1.6;
}


/* ---------- Temporary Form Preview ---------- */

.form-field-preview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 24px;
}

.preview-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.preview-field label {
    color: #222222;
    font-size: 0.78rem;
    font-weight: 700;
}

.preview-input {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid #d5d5d5;
    background: #fafafa;
    color: #999999;
    font-size: 0.86rem;
}

.preview-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 30px;
    padding: 13px 24px;
    background: #c8102e;
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.09em;
}


/* ---------- Communication Disclosure ---------- */

.communication-disclosure {
    margin-top: 24px;
    padding: 20px 24px;
    border-left: 3px solid #c8102e;
    background: #ffffff;
}

.communication-disclosure p {
    margin: 0;
    color: #666666;
    font-size: 0.82rem;
    line-height: 1.7;
}

.communication-disclosure strong {
    color: #333333;
}


/* ---------- Publication Information ---------- */

.access-publication-section {
    background: #ffffff;
    padding: 88px 0;
}

.access-publication {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
    gap: 72px;
    align-items: start;
    padding-top: 12px;
}

.access-publication .eyebrow {
    display: block;
    margin-bottom: 14px;
    color: #c8102e;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.access-publication h2 {
    margin: 0;
    color: #111111;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.access-publication .publication-subtitle {
    margin: 16px 0 22px;
    color: #c8102e;
    font-size: 1.05rem;
    line-height: 1.5;
    font-weight: 600;
}

.access-publication > div:first-child > p:not(.publication-subtitle) {
    max-width: 720px;
    margin: 0;
    color: #666666;
    font-size: 0.98rem;
    line-height: 1.8;
}

.access-publication-meta {
    border-left: 1px solid #dddddd;
    padding-left: 32px;
}

.access-publication-meta div {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 28px;
}

.access-publication-meta div:last-child {
    margin-bottom: 0;
}

.access-publication-meta span {
    color: #888888;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.access-publication-meta strong {
    color: #222222;
    font-size: 0.92rem;
    line-height: 1.5;
}


/* =========================================================
   EXECUTIVE SUMMARY ACCESS — RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .access-hero {
        padding: 68px 0 72px;
    }

    .access-hero-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .access-hero-visual {
        justify-content: flex-start;
    }

    .access-hero-visual img {
        max-width: 300px;
    }

    .access-form-section {
        padding: 72px 0;
    }

    .access-publication-section {
        padding: 72px 0;
    }

    .access-publication {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .access-publication-meta {
        border-left: none;
        border-top: 1px solid #dddddd;
        padding-top: 28px;
        padding-left: 0;
    }

}


@media (max-width: 600px) {

    .header-back-link {
        padding: 8px 11px;
        font-size: 0.64rem;
    }

    .access-hero {
        padding: 56px 0 60px;
    }

    .access-hero h1 {
        font-size: clamp(2.25rem, 12vw, 3.2rem);
    }

    .access-hero-subtitle {
        font-size: 1rem;
    }

    .access-form-section {
        padding: 58px 0;
    }

    .access-form-intro {
        margin-bottom: 30px;
    }

    .zoho-form-placeholder {
        padding: 28px 22px;
    }

    .form-field-preview {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .access-publication-section {
        padding: 58px 0;
    }

    .access-publication h2 {
        font-size: 2rem;
    }

    .communication-disclosure {
        padding: 18px 18px;
    }

}

/* =========================================================
   AUTHOR PHOTOGRAPH
========================================================= */

.author-profile {
    display: flex;
    align-items: center;
    gap: 36px;
}

.author-photo {
    flex: 0 0 190px;
    width: 190px;
    height: 235px;
    overflow: hidden;
    border-radius: 4px;
}

.author-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.author-profile-content {
    flex: 1;
}

@media (max-width: 768px) {

    .author-profile {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .author-photo {
        width: 160px;
        height: 200px;
    }

}