:root{

    color-scheme:light;

    --light-bg:#F7F7F4;
    --light-surface:#FFFFFF;
    --light-surface-glass:rgba(247,247,244,.94);
    --light-surface-glass-soft:rgba(247,247,244,.84);
    --light-utility-glass:rgba(247,247,244,.21);
    --light-text:#555555;
    --light-text-strong:#555555;
    --light-text-muted:#8C8C8C;
    --light-line:#E8E8E4;
    --light-mark:#FFF0AD;
    --light-shadow:rgba(85,85,85,.08);
    --light-focus:rgba(85,85,85,.16);
    --light-accent-deep:#555555;
    --light-chroma-cyan-rgb:0,231,255;
    --light-chroma-pink-rgb:255,0,180;
    --light-chroma-white-rgb:255,255,255;
    --light-chroma-cyan:rgba(0,231,255,.34);
    --light-chroma-pink:rgba(255,0,180,.28);
    --light-chroma-white:rgba(255,255,255,.2);

    --dark-bg:#111111;
    --dark-surface:#1B1B1B;
    --dark-surface-glass:rgba(17,17,17,.94);
    --dark-surface-glass-soft:rgba(27,27,27,.86);
    --dark-utility-glass:rgba(17,17,17,.36);
    --dark-text:#D7D4CC;
    --dark-text-strong:#F5F1E8;
    --dark-text-muted:#9C968C;
    --dark-line:#34322F;
    --dark-mark:#6D5426;
    --dark-shadow:rgba(0,0,0,.28);
    --dark-focus:rgba(245,241,232,.22);
    --dark-accent-deep:#F0BA9B;
    --dark-chroma-cyan-rgb:76,228,255;
    --dark-chroma-pink-rgb:255,91,198;
    --dark-chroma-white-rgb:245,241,232;
    --dark-chroma-cyan:rgba(76,228,255,.36);
    --dark-chroma-pink:rgba(255,91,198,.32);
    --dark-chroma-white:rgba(245,241,232,.2);

    /* Active theme tokens used by the site. */
    --bg:var(--light-bg);
    --surface:var(--light-surface);
    --surface-glass:var(--light-surface-glass);
    --surface-glass-soft:var(--light-surface-glass-soft);
    --utility-glass:var(--light-utility-glass);
    --text:var(--light-text);
    --text-strong:var(--light-text-strong);
    --text-muted:var(--light-text-muted);
    --line:var(--light-line);
    --mark:var(--light-mark);
    --shadow:var(--light-shadow);
    --focus:var(--light-focus);
    --accent-deep:var(--light-accent-deep);
    --chroma-cyan-rgb:var(--light-chroma-cyan-rgb);
    --chroma-pink-rgb:var(--light-chroma-pink-rgb);
    --chroma-white-rgb:var(--light-chroma-white-rgb);
    --chroma-cyan:var(--light-chroma-cyan);
    --chroma-pink:var(--light-chroma-pink);
    --chroma-white:var(--light-chroma-white);
}

html[data-theme="dark"]{

    color-scheme:dark;

    --bg:var(--dark-bg);
    --surface:var(--dark-surface);
    --surface-glass:var(--dark-surface-glass);
    --surface-glass-soft:var(--dark-surface-glass-soft);
    --utility-glass:var(--dark-utility-glass);
    --text:var(--dark-text);
    --text-strong:var(--dark-text-strong);
    --text-muted:var(--dark-text-muted);
    --line:var(--dark-line);
    --mark:var(--dark-mark);
    --shadow:var(--dark-shadow);
    --focus:var(--dark-focus);
    --accent-deep:var(--dark-accent-deep);
    --chroma-cyan-rgb:var(--dark-chroma-cyan-rgb);
    --chroma-pink-rgb:var(--dark-chroma-pink-rgb);
    --chroma-white-rgb:var(--dark-chroma-white-rgb);
    --chroma-cyan:var(--dark-chroma-cyan);
    --chroma-pink:var(--dark-chroma-pink);
    --chroma-white:var(--dark-chroma-white);

}



*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--bg);
    color:var(--text);

    font-family:"Sora",sans-serif;
    font-size:.9375rem;
    letter-spacing: normal;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    transition:background-color .25s ease,color .25s ease;

}

html.name-pending .mobile-topbar,
html.name-pending .sidebar-controls,
html.name-pending .academic-section,
html.name-pending .content-column{

    visibility:hidden;

}

html.intro-loading,
body.intro-loading{

    overflow:hidden;

}

img{

    width:100%;
    display:block;

}

.texto{
    line-height: 1.5;
    font-size: 1.125rem;
    margin-top: 35px;
}

.texto p{
    font-weight: 300;
}

.texto h2{
    padding-bottom: 7px;
    font-size: 1.500rem;
    font-weight: 400;
}

mark{
    background-color:var(--mark);
    color:var(--text-strong);
}



.content-column{

    min-width:0;
    display:flex;
    flex-direction:column;
    position:relative;
    font-weight:300;
    filter:blur(var(--intro-blur, 0px));
    transition:filter .7s ease;

}

.sidebar nav,
.academic-section,
.font-size-control{

    filter:blur(var(--intro-blur, 0px));
    transition:filter .7s ease;

}

.utility-rail{

    position:sticky;
    top:0;
    z-index:30;

    width:100%;
    margin-bottom:28px;

}

.subbar{

    overflow:hidden;
    max-height:0;
    padding:0 18px;

    border-bottom:1px solid var(--line);
    background:var(--surface-glass);
    backdrop-filter:blur(14px);

    transition:max-height .35s ease,padding .35s ease;

}

.subbar.open{

    max-height:74px;
    padding:14px 18px;

}

.layout{

    display:grid;

    grid-template-columns:340px minmax(0,1fr);
    width:min(calc(100% - 64px), 1280px);
    margin:0 auto;
    position:relative;

}

.mobile-topbar{

    display:none;

}

/* =======================
SIDEBAR
========================== */

.sidebar{

    position:sticky;

    top:0;

    height:100vh;

    padding:75px 48px;
    padding-top: 40px;
    padding-left: 50px;

    border-right:1px solid var(--line);

    display:flex;

    flex-direction:column;

    justify-content:space-between;
    gap:10px;

}

.sidebar > div{

    display:flex;
    flex-direction:column;
    min-height:0;
    height:100%;

}

.sidebar::after{

    content:"";
    position:absolute;
    top:0;
    right:-1px;
    width:2px;
    height:100%;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 0%,var(--text-strong) 12%,var(--accent-deep) 88%,transparent 100%);
    box-shadow:0 0 14px rgba(var(--chroma-cyan-rgb), .18);
    transform:scaleY(var(--intro-progress, 0));
    transform-origin:top;
    opacity:0;
    animation:none;
    transition:opacity .35s ease, transform .22s cubic-bezier(.22,.61,.36,1);

}

body.intro-loading .sidebar::after{

    opacity:1;

}

body.intro-exiting .sidebar::after{

    animation:intro-bar-exit-y .36s cubic-bezier(.4,0,.2,1) forwards;

}

.theme-toggle{

    appearance:none;
    position:relative;
    z-index:45;
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:34px;
    margin-top:0;
    padding:6px 11px 6px 7px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--surface);
    color:var(--text);
    font:inherit;
    font-weight:300;
    font-size:.75rem;
    opacity:.86;
    cursor:pointer;
    transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;

}

.sidebar-controls{

    display:flex;
    align-items:center;
    gap:8px;
    margin-top:auto;
    padding-top:22px;
    flex:0 0 auto;
    flex-wrap:wrap;

}

body.intro-loading .theme-toggle{

    background:transparent;

}

.font-size-control{

    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:3px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--surface);
    opacity:.86;
    transition:border-color .25s ease,transform .25s ease;

}

.font-size-control:hover,
.font-size-control:focus-within{

    border-color:var(--text-strong);
    transform:translateY(-1px);

}

.font-size-control__button{

    appearance:none;
    min-width:32px;
    height:26px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:var(--text);
    font:inherit;
    font-weight:200;
    font-size:.72rem;
    cursor:pointer;
    transition:background-color .25s ease,color .25s ease,transform .25s ease,opacity .25s ease;

}

.font-size-control__button:hover,
.font-size-control__button:focus-visible{

    background:var(--text-strong);
    color:var(--bg);

}

.font-size-control__button:focus-visible{

    outline:2px solid var(--focus);
    outline-offset:2px;

}

.font-size-control__button:disabled{

    cursor:default;
    opacity:.38;
    transform:none;

}

.font-size-control__button:disabled:hover{

    background:transparent;
    color:var(--text);

}

.theme-toggle:hover,
.theme-toggle:focus-visible{

    border-color:var(--text-strong);
    color:var(--text-strong);
    transform:translateY(-1px);

}

.theme-toggle:focus-visible{

    outline:2px solid var(--focus);
    outline-offset:2px;

}

.theme-toggle__icon{

    width:20px;
    height:20px;
    border-radius:999px;
    background:var(--text-strong);
    box-shadow:inset -6px -3px 0 var(--surface);
    transition:box-shadow .25s ease,background-color .25s ease,transform .25s ease;

}

html[data-theme="dark"] .theme-toggle__icon{

    box-shadow:inset 0 0 0 5px var(--surface),0 0 0 1px var(--text-strong);
    transform:rotate(-18deg);

}

.name{

    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;

    width:100%;
    max-width:100%;
    padding-right:12px;
    font-size:48px;

    min-height:1.34em;
    line-height:1.24;

    font-weight:300;

    letter-spacing:0;
    font-feature-settings:"liga" 0,"kern" 1;
    text-rendering:geometricPrecision;
    white-space:nowrap;
    overflow:visible;
    animation:name-entrance .2s cubic-bezier(.2,.8,.2,1) both;

}

.name-slot{

    position:relative;
    display:inline-block;
    flex:0 0 auto;
    height:1.32em;

}

.name-space{

    display:inline-block;
    flex:0 0 auto;
    width:.62em;

}

.name-slot--surname-i{

    margin-left:-.03em;
    margin-right:-.04em;

}

.glitch-letter{

    position:absolute;
    inset:0 0 auto;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    line-height:1.18;

    will-change:font-family,font-style,font-weight,text-shadow,filter,opacity,transform;
    transform-origin:50% 65%;
    transition:font-weight .28s ease, transform .42s ease, text-shadow .42s ease, filter .42s ease, opacity .42s ease;

}

/* =======================
MENU
========================== */

nav{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.sidebar nav{

    margin-top:26px;

}

nav a{

    text-decoration:none;

    color:var(--text-muted);

    font-size:.8125rem;
    font-weight:200;
    opacity:.82;

    transition:.3s;

    position:relative;

    width:max-content;

}

nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-5px;

    width:0;

    height:1px;

    background:var(--text-strong);

    transition:.4s;

}

nav a:hover{

    color:var(--text-strong);
    opacity:.95;

}

nav a:hover::after{

    width:100%;

}

nav a.active{

    color:var(--text-strong);
    opacity:.92;

}

nav a.active::after{

    width:100%;

}

.academic-section{

    display:grid;
    gap:18px;
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid var(--line);
    color:var(--text-muted);
    opacity:.86;
    min-height:0;
    overflow-y:auto;

}

.academic-group{

    display:grid;
    gap:11px;

}

.academic-group h3{

    color:var(--text-muted);
    font-size:.8125rem;
    font-weight:200;
    line-height:1.45;
    letter-spacing:0;
    text-transform:uppercase;

}

.academic-item{

    display:grid;
    gap:3px;
    font-size:.8125rem;
    font-weight:200;
    line-height:1.45;

}

.destaqueAcademico{

    font-weight:400;
    font-variation-settings:"wght" 400;

}

/* =======================
MAIN
========================== */

main{

padding-right:7%;
padding-left:7%;
padding-top:13px;

}

section{

    margin-bottom:90px;

}

.site-footer{

    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px 20px;
    padding:36px 7% 56px;
    border-top:1px solid var(--line);
    color:var(--text-muted);
    font-size:.8125rem;
    line-height:1.6;

}

.site-footer p{

    margin:0;

}

.site-footer__brand{

    display:flex;
    align-items:center;
    gap:10px;

}

.site-footer__symbol{

    width:34px;
    height:auto;
    display:block;
    opacity:.5;
    filter:var(--footer-symbol-filter, none);

}

html[data-theme="light"] .site-footer__symbol{

    --footer-symbol-filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(0%) hue-rotate(176deg) brightness(91%) contrast(88%);

}

html[data-theme="dark"] .site-footer__symbol{

    --footer-symbol-filter:brightness(0) saturate(100%) invert(92%) sepia(11%) saturate(158%) hue-rotate(355deg) brightness(92%) contrast(86%);

}

.site-footer__links{

    display:flex;
    flex-wrap:wrap;
    gap:0 10px;
    justify-content:flex-end;
    text-align:right;

}

.site-footer a{

    color:var(--text);
    text-decoration:none;
    transition:color .25s ease;

}

.site-footer a:hover,
.site-footer a:focus-visible{

    color:var(--text-strong);

}

.site-footer a:focus-visible{

    outline:2px solid var(--focus);
    outline-offset:2px;

}

/* =======================
SECTION TITLE
========================== */

.section-title{

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:50px;

}

.section-title span{

    color:var(--accent-deep);

    font-size:.8125rem;
    font-weight:200;

    letter-spacing:.18em;

}

.section-title h3{

    font-size:48px;
    opacity: .60;
    font-weight:50;
    letter-spacing:normal;

}

/* =======================
GRID
========================== */



.card{
    gap:12px;
    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    transition:.35s ease;

}



.card:hover{

    transform:translateY(-6px);

}

.card img{

    object-fit:cover;

    border-radius:5px;

    margin-bottom:22px;

}

video{
    width:100%;
    border-radius:5px;
    display:block;
}

body.media-audio-active main img,
body.media-audio-active main video{
    filter:grayscale(1) saturate(0) contrast(.95);
    transition:filter .28s ease;
}

body.media-audio-active .media-item.is-audio-active video{
    filter:none;
}

body.media-audio-active .media-item:hover img,
body.media-audio-active .media-item:hover video,
body.media-audio-active main img:hover,
body.media-audio-active main video:hover{
    filter:none;
}

.media-item{

    display:flex;
    flex-direction:column;
    gap:10px;
    transition:filter .28s ease;

}

.media-controls{

    display:flex;
    flex-wrap:wrap;
    gap:8px;

}

.media-control{

    appearance:none;
    border:1px solid var(--line);
    background:var(--surface);
    color:var(--text);
    border-radius:999px;
    padding:8px 12px;
    font:inherit;
    font-size:.6875rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    cursor:pointer;
    transition:.25s ease;

}

.media-control:hover,
.media-control:focus-visible{

    border-color:var(--text-strong);
    color:var(--text-strong);
    transform:translateY(-1px);

}

.media-control:focus-visible{

    outline:2px solid var(--focus);
    outline-offset:2px;

}

.media-control.is-active{

    background:var(--text-strong);
    color:var(--bg);
    border-color:var(--text-strong);

}

#imgDifelicio {
    aspect-ratio:10 / 17.8;
}

.vertical-carousel{

    position:relative;
    width:100%;
    max-width:100%;

}

.vertical-carousel__viewport{

    overflow:hidden;
    width:100%;
    border-radius:5px;
    transition:height .65s ease;

}

.vertical-carousel__track{

    position:relative;
    display:flex;
    flex-direction:column;
    will-change:transform;
    transition:transform .9s cubic-bezier(.22,.61,.36,1);

}

.vertical-carousel__slide{

    display:grid;
    grid-template-columns:repeat(var(--carousel-columns, 3), minmax(0,1fr));
    gap:12px;

}

.vertical-carousel__slide img{

    width:100%;
    aspect-ratio:4 / 5;
    object-fit:cover;
    border-radius:5px;
    margin-bottom:0;

}

.vertical-carousel--games .vertical-carousel__slide img{

    aspect-ratio:16 / 9;

}

.vertical-carousel__controls{

    position:absolute;
    top:50%;
    right:12px;
    z-index:2;

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;

    pointer-events:none;
    transform:translateY(-50%);
    transition:opacity .2s ease, transform .2s ease;

}

.vertical-carousel__arrow{

    pointer-events:auto;
    appearance:none;
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--surface-glass-soft);
    color:var(--text-strong);
    font:inherit;
    font-size:1.125rem;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(10px);
    box-shadow:0 8px 24px var(--shadow);
    transition:.22s ease;

}

.vertical-carousel__arrow:hover,
.vertical-carousel__arrow:focus-visible{

    border-color:var(--text-strong);
    transform:translateY(-1px);

}

.vertical-carousel__arrow:focus-visible{

    outline:2px solid var(--focus);
    outline-offset:2px;

}

@media (hover:hover) and (pointer:fine){

    .vertical-carousel__controls{

        opacity:0;
        transform:translateY(-50%) translateX(8px);

    }

    .vertical-carousel:hover .vertical-carousel__controls,
    .vertical-carousel:focus-within .vertical-carousel__controls{

        opacity:1;
        transform:translateY(-50%) translateX(0);

    }

}

/* =======================
MOBILE
========================== */

@keyframes name-entrance {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes intro-bar-exit-y {
    0% {
        opacity: 1;
        transform:scaleY(1) translateY(0);
    }

    100% {
        opacity: 0;
        transform:scaleY(1) translateY(100%);
    }
}

@media(max-width:1100px){

.layout{

grid-template-columns:280px minmax(0,1fr);
width:calc(100% - 32px);

}

.name{

font-size:28px;
padding-right:10px;

}

.cards{

grid-template-columns:1fr;

}

}

@media(max-width:820px){

.mobile-topbar{

    position:fixed;
    top:0;
    left:0;
    z-index:90;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
    width:100%;
    min-height:58px;
    border-bottom:1px solid var(--line);
    background:var(--surface-glass);
    backdrop-filter:blur(14px);

}

.mobile-topbar::after{

    content:"";
    position:absolute;
    right:0;
    bottom:-1px;
    left:0;
    height:2px;
    pointer-events:none;
    background:linear-gradient(90deg,transparent 0%,var(--text-strong) 12%,var(--accent-deep) 88%,transparent 100%);
    box-shadow:0 0 14px rgba(var(--chroma-cyan-rgb), .18);
    transform:scaleX(var(--intro-progress, 0));
    transform-origin:left;
    opacity:0;

}

body.intro-loading .mobile-topbar::after{

    opacity:100;

}

body.intro-exiting .mobile-topbar::after{

    animation:intro-bar-exit-mobile .24s cubic-bezier(.4,0,.2,1) forwards;

}

.mobile-topbar__nav{

    display:flex;
    flex-direction:row;
    align-items:center;
    gap:20px;
    min-width:0;
    padding:0 16px;
    overflow-x:auto;
    scrollbar-width:none;
    white-space:nowrap;

}

.mobile-topbar__nav::-webkit-scrollbar{

    display:none;

}

.mobile-topbar__nav a{

    flex:0 0 auto;
    color:var(--text-muted);
    font-size:.6875rem;
    line-height:58px;

}

.mobile-topbar__nav a::after{

    bottom:13px;

}

.mobile-settings-toggle{

    appearance:none;
    width:58px;
    border:0;
    border-left:1px solid var(--line);
    background:var(--surface-glass);
    color:var(--text-strong);
    font:inherit;
    font-size:.8125rem;
    cursor:pointer;

}

.mobile-settings-toggle:focus-visible{

    outline:2px solid var(--focus);
    outline-offset:-3px;

}

.mobile-settings-panel{

    position:absolute;
    top:calc(100% + 1px);
    right:0;
    display:flex;
    width:min(260px, 100vw);
    max-height:0;
    padding:0 16px;
    overflow:hidden;
    border-bottom:1px solid transparent;
    background:var(--surface-glass);
    box-shadow:0 10px 24px var(--shadow);
    backdrop-filter:blur(14px);
    transition:max-height .25s ease,padding .25s ease,border-color .25s ease;

}

.mobile-settings-panel.is-open{

    max-height:80px;
    padding:14px 16px;
    border-color:var(--line);

}

.layout{

display:block;
width:100%;

}

.sidebar{

    position:relative;

height:auto;

border-right:none;

    border-bottom:none;

    padding:86px 24px 36px;

    gap:28px;

}

.sidebar > div{

height:auto;

}

.sidebar::after{

display:none;

}

.utility-rail{

display:none;

}

main{

padding:24px 24px 0;

}

.vertical-carousel__controls{

right:10px;

}

.vertical-carousel__arrow{

width:36px;
height:36px;

}

.card{

grid-template-columns:1fr;

}

.name{

font-size:28px;
letter-spacing:.15em;
padding-right:4px;

}

.name-space{

width:.28em;

}

.sidebar nav{

display:none;

}

.sidebar-controls{

    width:100%;
    margin:0;
    padding:0;

}

.academic-section{

    width:auto;
    margin:0 24px 36px;
    padding-top:24px;
    overflow:visible;

}


.section-title h3{

font-size:44px;

}

section{

margin-bottom:70px;
scroll-margin-top:82px;

}

.mobile-media-carousel{

    display:flex;
    grid-template-columns:none;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 24px 8px;
    margin:0 -24px;
    scroll-snap-type:x mandatory;
    scroll-padding-left:24px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    transform:none;

}

.mobile-media-carousel::-webkit-scrollbar{

    display:none;

}

.mobile-media-carousel:hover{

    transform:none;

}

.mobile-media-carousel > *{

    flex:0 0 min(78vw, 460px);
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;

}

}

@keyframes intro-bar-exit-mobile {
    0% {
        opacity:1;
        transform:scaleX(1) translateX(0);
    }

    100% {
        opacity:0;
        transform:scaleX(.7) translateX(-36%);
    }
}

@media(max-width:520px){

.mobile-topbar__nav{

    gap:16px;
    padding:0 14px;

}

.mobile-topbar__nav a{

    font-size:.625rem;

}

.mobile-settings-toggle{

    width:54px;

}

main{

padding:20px 18px 0;

}

.utility-rail{

margin-bottom:20px;

}

.subbar{

padding:0 14px;

}

.subbar.open{

padding:12px 14px;

}

.vertical-carousel__controls{

right:8px;
gap:8px;

}

.vertical-carousel__arrow{

width:34px;
height:34px;
font-size:1rem;

}

.name{

font-size:28px;
letter-spacing:.15em;
padding-right:4px;

}

.name-space{

width:.28em;

}

.section-title{

align-items:flex-start;

flex-direction:column;

gap:8px;

}

.section-title h3{

font-size:44px;

}

.media-controls{

gap:6px;

}

.media-control{

    padding:7px 10px;

    font-size:.625rem;

}

.site-footer{

    padding:20px 18px 34px;
    font-size:.75rem;
    line-height:1.7;

}

.site-footer__links{

    justify-content:flex-start;
    text-align:left;

}

.academic-section{

    margin:0 18px 30px;
    padding-top:20px;

}

.mobile-media-carousel{

    display:flex;
    grid-template-columns:none;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 18px 8px;
    margin:0 -18px;
    scroll-snap-type:x mandatory;
    scroll-padding-left:18px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    transform:none;

}

.mobile-media-carousel::-webkit-scrollbar{

    display:none;

}

.mobile-media-carousel:hover{

    transform:none;

}

.mobile-media-carousel > *{

    flex:0 0 min(84vw, 380px);
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;

}

}
