@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root{--bg:#f7f5f1;--surface:#fff;--ink:#171717;--muted:#70706c;--accent:#b42d3e;--accent-dark:#8f2030;--line:#dedbd4;--max:1240px;--radius:22px;--shadow:0 20px 60px rgba(23,23,23,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}img{display:block;width:100%;max-width:100%}button{font:inherit}::selection{background:var(--accent);color:#fff}
.container-modern{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{position:fixed;z-index:1000;top:18px;left:0;right:0}.nav-shell{height:72px;width:min(var(--max),calc(100% - 32px));margin:auto;padding:0 12px 0 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.82);border:1px solid rgba(23,23,23,.08);border-radius:999px;box-shadow:0 12px 40px rgba(23,23,23,.08);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.02em}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:'Playfair Display',serif;font-size:18px}.brand span:last-child{font-size:16px}.nav-links{display:flex;align-items:center;gap:5px}.nav-links a{padding:12px 16px;border-radius:999px;font-size:14px;font-weight:600;color:#565651;transition:.25s ease}.nav-links a:hover,.nav-links a.active{background:#f0eeea;color:var(--ink)}.nav-links a.cta{background:var(--ink);color:#fff}.menu-toggle{display:none;border:0;background:transparent;width:46px;height:46px;border-radius:50%;cursor:pointer}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:20px;height:2px;background:var(--ink);margin:auto;position:relative;transition:.25s}.menu-toggle span:before,.menu-toggle span:after{content:'';position:absolute;left:0}.menu-toggle span:before{top:-7px}.menu-toggle span:after{top:7px}
.hero{min-height:100vh;padding:150px 0 70px;display:grid;align-items:center;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before,.section-kicker:before{content:'';width:28px;height:1px;background:currentColor}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(58px,8vw,108px);line-height:.92;letter-spacing:-.055em;margin:22px 0}.hero h1 em{font-weight:500;color:var(--accent)}.hero-lead{max-width:620px;color:var(--muted);font-size:20px;line-height:1.65;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:999px;border:1px solid var(--ink);font-size:14px;font-weight:700;transition:.25s ease}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.btn-light{background:transparent}.btn-light:hover{background:#fff;transform:translateY(-2px)}.hero-note{display:flex;gap:24px;margin-top:42px;padding-top:22px;border-top:1px solid var(--line)}.stat strong{display:block;font-family:'Playfair Display',serif;font-size:28px}.stat span{display:block;margin-top:3px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hero-visual{position:relative}.hero-image{position:relative;aspect-ratio:4/5;border-radius:30px;overflow:hidden;background:#ddd;box-shadow:var(--shadow)}.hero-image img{height:100%;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.25))}.hero-tag{position:absolute;z-index:2;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:end;color:#fff}.hero-tag strong{font-family:'Playfair Display',serif;font-size:24px}.hero-tag span{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.floating-art{position:absolute;width:34%;right:-10%;bottom:-8%;border:10px solid var(--bg);box-shadow:var(--shadow);transform:rotate(5deg)}.floating-art img{aspect-ratio:1/1.15;object-fit:cover}
section{padding:110px 0}.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:end;margin-bottom:50px}.section-head h2{font-family:'Playfair Display',serif;font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.04em;margin:12px 0 0}.section-head h2 em{color:var(--accent);font-weight:500}.section-head p{max-width:600px;color:var(--muted);font-size:17px;line-height:1.8;margin:0}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}.story-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.story-card p{color:#575751;line-height:1.8;font-size:16px;margin:0 0 24px}.story-card p:last-child{margin-bottom:0}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:115px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-date{font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.timeline-item h3{font-family:'Playfair Display',serif;font-size:24px;margin:0 0 7px}.timeline-item p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:45px}.cert-grid a{background:#fff;border:1px solid var(--line);padding:8px;border-radius:14px;overflow:hidden}.cert-grid img{aspect-ratio:4/3;object-fit:cover;transition:.4s}.cert-grid a:hover img{transform:scale(1.04)}
.exhibitions{background:var(--ink);color:#fff}.exhibitions .section-head p{color:#aaa}.exhibition-list{display:grid;gap:24px}.exhibition{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-top:1px solid rgba(255,255,255,.16);padding-top:24px}.exhibition-media{overflow:hidden;border-radius:18px}.exhibition-media img{aspect-ratio:16/10;object-fit:cover;transition:transform .7s}.exhibition-mosaic{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:4px;background:var(--ink)}.exhibition-mosaic img{height:100%;min-height:0;aspect-ratio:auto}.exhibition-mosaic img:first-child{grid-row:1 / 3}.exhibition-mosaic-four{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.exhibition-mosaic-four img:first-child{grid-row:auto}.exhibition:hover .exhibition-media img{transform:scale(1.03)}.exhibition-copy{padding:10px 0 10px 42px;display:flex;flex-direction:column;justify-content:center}.exhibition-copy .number{font-family:'Playfair Display',serif;font-size:18px;color:#999}.exhibition-copy h3{font-family:'Playfair Display',serif;font-size:32px;font-weight:500;margin:10px 0 18px}.exhibition-copy p{color:#aaa;line-height:1.85;margin:0;font-size:15px}.exhibition-copy em{color:#fff;font-style:normal}
.encounters{background:#fff}.encounter-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.encounter{position:relative;overflow:hidden;border-radius:22px;min-height:520px}.encounter img{height:100%;object-fit:cover;transition:transform .7s}.encounter:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.75))}.encounter:hover img{transform:scale(1.04)}.encounter-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff}.encounter-copy span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ddd}.encounter-copy h3{font-family:'Playfair Display',serif;font-size:28px;font-weight:500;line-height:1.15;margin:8px 0 0}
.spotlight{background:var(--bg)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.3s}.video-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.video-thumb{position:relative;aspect-ratio:16/10;overflow:hidden}.video-thumb img{height:100%;object-fit:cover;transition:.5s}.video-card:hover .video-thumb img{transform:scale(1.04)}.play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:17px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.video-info{padding:22px}.video-info h3{font-family:'Playfair Display',serif;font-size:23px;line-height:1.15;margin:0 0 15px}.video-info span{font-size:11px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.gallery-hero{padding:155px 0 55px}.gallery-hero h1,.contact-hero h1{font-family:'Playfair Display',serif;font-size:clamp(52px,7vw,88px);letter-spacing:-.05em;line-height:.95;margin:15px 0}.gallery-hero p,.contact-hero p{max-width:680px;color:var(--muted);font-size:18px;line-height:1.7}.art-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.art-card{position:relative;grid-column:span 4;overflow:hidden;border-radius:18px;background:#ddd;cursor:pointer}.art-card.wide{grid-column:span 6}.art-card img{height:100%;min-height:370px;object-fit:cover;transition:.65s}.art-card:hover img{transform:scale(1.045)}.art-overlay{position:absolute;inset:auto 0 0;padding:70px 22px 22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78));transform:translateY(4px);transition:.3s}.art-card:hover .art-overlay{transform:translateY(0)}.art-overlay .tag{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#ddd}.art-overlay h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:500;margin:6px 0}.art-overlay p{margin:0;color:#ddd;font-size:12px}.gallery-cta{text-align:center;margin-top:42px}
.contact-hero{padding:155px 0 70px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:35px}.contact-card h2{font-family:'Playfair Display',serif;font-size:40px;margin:0 0 12px}.contact-card p{color:var(--muted);line-height:1.7}.contact-list{display:grid;gap:12px;margin-top:28px}.contact-item{display:flex;gap:16px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:15px}.contact-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f1efeb;color:var(--accent)}.contact-item small{display:block;color:#999;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.contact-item strong{display:block;margin-top:4px;font-size:14px}.social-card{background:var(--ink);color:#fff;position:relative;overflow:hidden}.social-card:before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:var(--accent);right:-130px;top:-130px;opacity:.85}.social-card>*{position:relative}.social-card h2{max-width:400px}.social-card p{color:#aaa}.social-links{display:flex;gap:10px;margin-top:28px}.social-links a{width:48px;height:48px;border:1px solid #444;border-radius:50%;display:grid;place-items:center;transition:.25s}.social-links a:hover{background:var(--accent);border-color:var(--accent)}.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:55px}.instagram-grid a{overflow:hidden;border-radius:12px}.instagram-grid img{aspect-ratio:1;object-fit:cover;transition:.5s}.instagram-grid a:hover img{transform:scale(1.05)}

/*.site-footer{background:var(--ink);color:#aaa;padding:42px 0}*/
/*.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}*/
/*.footer-inner strong{font-family:'Playfair Display',serif;color:#fff;font-size:22px}*/
/*.footer-inner p{margin:0;font-size:12px}.back-top{width:42px;height:42px;border:1px solid #444;border-radius:50%;display:grid;place-items:center;color:#fff}*/


.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.lightbox{position:fixed;z-index:2000;inset:0;background:rgba(12,12,12,.94);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,92vw);max-height:86vh;width:auto;object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:22px;right:28px;width:48px;height:48px;border:1px solid #555;border-radius:50%;background:transparent;color:#fff;font-size:28px;cursor:pointer}.lightbox-caption{position:absolute;left:30px;bottom:24px;color:#fff;font-size:13px;opacity:.8}
@media(max-width:900px){.nav-links{position:fixed;top:102px;left:16px;right:16px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:22px;display:grid;gap:3px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s}.nav-links.open{opacity:1;visibility:visible;transform:none}.nav-links a{padding:14px 16px}.nav-links a.cta{margin-top:4px}.menu-toggle{display:block}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero{padding-top:135px}.hero-visual{max-width:620px}.floating-art{right:-4%;width:28%}.section-head{grid-template-columns:1fr;gap:18px}.exhibition{grid-template-columns:1fr}.exhibition-copy{padding:24px 0 10px}.video-grid{grid-template-columns:1fr 1fr}.art-card{grid-column:span 6}.art-card.wide{grid-column:span 6}.encounter-grid{grid-template-columns:1fr 1fr}.instagram-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.exhibition-mosaic{min-height:360px}.exhibition-mosaic-four{min-height:360px}.container-modern{width:min(var(--max),calc(100% - 28px))}.nav-shell{width:calc(100% - 20px);height:64px;padding-left:14px}.brand span:last-child{font-size:14px}.hero{padding-top:115px}.hero h1{font-size:58px}.hero-lead{font-size:17px}.hero-note{gap:16px}.stat strong{font-size:23px}.floating-art{display:none}section{padding:75px 0}.section-head{margin-bottom:32px}.section-head h2{font-size:45px}.story-card{padding:24px}.timeline-item{grid-template-columns:1fr;gap:8px}.cert-grid{grid-template-columns:repeat(2,1fr)}.exhibition-copy h3{font-size:27px}.encounter-grid,.video-grid{grid-template-columns:1fr}.encounter{min-height:440px}.art-grid{grid-template-columns:1fr;gap:12px}.art-card,.art-card.wide{grid-column:auto}.art-card img{min-height:440px}
    .instagram-grid{grid-template-columns:repeat(2,1fr)}.contact-card{padding:24px}
    /*.footer-inner{align-items:flex-start;flex-direction:column}*/
    .gallery-hero,.contact-hero{padding-top:120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}






/******************************** added later ********************************************/



/* =========================================================
   MODERN FOOTER
   ========================================================= */

.modern-footer {
    position: relative;
    margin: 70px auto 25px;
    width: calc(100% - 50px);
    max-width: 1550px;
    background: #151515;
    color: #000000;
    border-radius: 30px;
    overflow: hidden;
}

/* Red decorative shape */
.footer-shape {
    position: absolute;
    top: -130px;
    right: -40px;
    width: 230px;
    height: 230px;
    background: #c91532;
    border-radius: 0 0 0 100%;
    pointer-events: none;
}

/* Main container */
.footer-inner {
    position: relative;
    z-index: 2;
    padding: 55px 55px 25px;
}

/* =========================================================
   TOP
   ========================================================= */

.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 300px;
    padding-bottom: 50px;
}

.footer-message {
    max-width: 700px;
}

.footer-eyebrow {
    margin: 0 0 22px;
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 4px;
    color: #c91532;
}

.footer-message h2 {
    margin: 0;
    color: #fff;
    font-family: 'font1', Georgia, serif;
    font-size: clamp(42px, 5vw, 76px);
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -2px;
}

.footer-message h2 span {
    position: relative;
    color: #fff;
    z-index: 1;
}

.footer-message h2 span::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -7px;
    right: -7px;
    bottom: 5px;
    height: 42%;
    background: #c91532;
}

/* =========================================================
   SOCIAL ICONS
   ========================================================= */

.footer-social {
    display: flex;
    gap: 14px;
    margin-right: 50px;
}

.footer-social a {
    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;

    color: #fff;
    font-size: 20px;

    text-decoration: none;

    transition:
            background 0.3s ease,
            border-color 0.3s ease,
            color 0.3s ease,
            transform 0.3s ease;
}

.footer-social a:hover {
    background: #c91532;
    border-color: #c91532;
    color: #fff;
    transform: translateY(-5px);
}

/* =========================================================
   CONTACT INFORMATION
   ========================================================= */

.footer-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;

    padding: 30px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-info-item {
    display: flex;
    align-items: center;
    gap: 15px;

    color: #fff;
    text-decoration: none;

    padding: 10px 0;

    transition: opacity 0.3s ease;
}

.footer-info-item:hover {
    color: #fff;
    opacity: 0.75;
}

.footer-icon {
    width: 44px;
    height: 44px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;

    color: #c91532;
    font-size: 15px;
}

.footer-info-item small {
    display: block;

    margin-bottom: 4px;

    color: rgba(255, 255, 255, 0.45);

    font-family: 'Roboto', sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.footer-info-item strong {
    display: block;

    color: #fff;

    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

/* =========================================================
   BOTTOM
   ========================================================= */

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-top: 22px;
}

.footer-bottom p {
    margin: 0;

    padding: 0;

    background: transparent;

    color: rgba(255, 255, 255, 0.4);

    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    font-weight: 400;
}

.footer-bottom-links {
    display: flex;
    gap: 25px;
}

.footer-bottom-links a {
    color: rgba(255, 255, 255, 0.65);

    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    font-weight: 400;

    text-decoration: none;

    transition: color 0.3s ease;
}

.footer-bottom-links a:hover {
    color: #c91532;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .modern-footer {
        width: calc(100% - 30px);
        margin-top: 50px;
        border-radius: 24px;
    }

    .footer-inner {
        padding: 45px 35px 25px;
    }

    .footer-top {
        min-height: 260px;
    }

    .footer-message h2 {
        font-size: clamp(38px, 6vw, 60px);
    }

    .footer-social {
        margin-right: 20px;
    }

    .footer-info {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}

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

@media (max-width: 767px) {

    .modern-footer {
        width: calc(100% - 20px);
        margin: 40px auto 10px;
        border-radius: 20px;
    }

    .footer-shape {
        top: -80px;
        right: -50px;
        width: 160px;
        height: 160px;
    }

    .footer-inner {
        padding: 35px 25px 22px;
    }

    .footer-top {
        display: block;
        min-height: auto;
        padding-bottom: 35px;
    }

    .footer-message {
        max-width: 100%;
    }

    .footer-eyebrow {
        font-size: 10px;
        letter-spacing: 3px;
        margin-bottom: 17px;
    }

    .footer-message h2 {
        font-size: clamp(36px, 11vw, 52px);
        line-height: 1.02;
        letter-spacing: -1.5px;
    }

    .footer-message h2 span::before {
        left: -4px;
        right: -4px;
        bottom: 3px;
    }

    .footer-social {
        margin: 30px 0 0;
    }

    .footer-social a {
        width: 52px;
        height: 52px;
        font-size: 17px;
    }

    .footer-info {
        padding: 25px 0;
        gap: 12px;
    }

    .footer-info-item {
        padding: 8px 0;
    }

    .footer-info-item strong {
        font-size: 13px;
    }

    .footer-bottom {
        display: block;
        padding-top: 20px;
    }

    .footer-bottom-links {
        margin-top: 15px;
        gap: 18px;
    }

    .footer-bottom-links a {
        font-size: 10px;
    }
}

/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .footer-inner {
        padding: 30px 20px 20px;
    }

    .footer-message h2 {
        font-size: 34px;
    }

    .footer-info-item strong {
        font-size: 12px;
    }
}













/* =========================================================
   LATEST WORKS
   ========================================================= **********************/

.latest-works {
    position: relative;
    width: 100%;
    padding: 110px 0 120px;
    background: #ffffff;
}

.latest-works-container {
    width: calc(100% - 80px);
    max-width: 1500px;
    margin: 0 auto;
}


/* =========================================================
   HEADING
   ========================================================= */

.latest-works-heading {
    margin-bottom: 55px;
}

.latest-works-label {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 20px;

    color: #c91532;

    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.latest-works-label span {
    width: 35px;
    height: 1px;
    background: #c91532;
}

.latest-works-title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.latest-works-title-row h2 {
    max-width: 750px;

    margin: 0;

    color: #151515;

    font-family: 'font1', Georgia, serif;
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -2px;
}

.latest-works-title-row h2 em {
    position: relative;

    color: #151515;
    font-style: normal;
}

.latest-works-title-row h2 em::after {
    content: "";

    position: absolute;
    z-index: -1;

    left: -5px;
    right: -5px;
    bottom: 4px;

    height: 14px;

    background: #c91532;

    opacity: 0.9;
}


/* =========================================================
   VIEW GALLERY LINK
   ========================================================= */

.latest-works-link {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    flex-shrink: 0;

    padding-bottom: 8px;

    border-bottom: 1px solid #151515;

    color: #151515;

    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
            color 0.3s ease,
            border-color 0.3s ease,
            gap 0.3s ease;
}

.latest-works-link i {
    font-size: 11px;

    transition: transform 0.3s ease;
}

.latest-works-link:hover {
    color: #c91532;
    border-color: #c91532;
}

.latest-works-link:hover i {
    transform: translateX(5px);
}


/* =========================================================
   MASONRY GALLERY
   ========================================================= */

.latest-works-grid {
    column-count: 4;
    column-gap: 18px;
}

.latest-work-item {
    position: relative;

    display: block;

    width: 100%;

    margin: 0 0 18px;

    break-inside: avoid;
    -webkit-column-break-inside: avoid;

    overflow: hidden;

    background: #eeeeee;

    text-decoration: none;

    cursor: zoom-in;
}

.latest-work-item img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;

    object-fit: contain;

    transition:
            transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
            filter 0.5s ease;
}


/* =========================================================
   IMAGE HOVER
   ========================================================= */

.latest-work-overlay {
    position: absolute;

    inset: 0;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    padding: 22px;

    background:
            linear-gradient(
                    to top,
                    rgba(0, 0, 0, 0.65),
                    rgba(0, 0, 0, 0.05) 55%,
                    transparent
            );

    color: #fff;

    opacity: 0;

    transition: opacity 0.35s ease;

    pointer-events: none;
}

.latest-work-overlay span {
    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.latest-work-overlay i {
    width: 35px;
    height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;

    font-size: 11px;
}

.latest-work-item:hover img {
    transform: scale(1.035);
}

.latest-work-item:hover .latest-work-overlay {
    opacity: 1;
}


/* =========================================================
   BOTTOM
   ========================================================= */

.latest-works-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 35px;
    padding-top: 22px;

    border-top: 1px solid #dddddd;
}

.latest-works-bottom span {
    color: #888888;

    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.latest-works-bottom a {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: #151515;

    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 500;

    text-decoration: none;

    transition: color 0.3s ease, gap 0.3s ease;
}

.latest-works-bottom a:hover {
    color: #c91532;
    gap: 15px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .latest-works-grid {
        column-count: 3;
    }

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 800px) {

    .latest-works {
        padding: 80px 0 90px;
    }

    .latest-works-container {
        width: calc(100% - 40px);
    }

    .latest-works-heading {
        margin-bottom: 40px;
    }

    .latest-works-title-row {
        display: block;
    }

    .latest-works-title-row h2 {
        font-size: clamp(40px, 8vw, 58px);
    }

    .latest-works-link {
        margin-top: 25px;
    }

    .latest-works-grid {
        column-count: 2;
        column-gap: 14px;
    }

    .latest-work-item {
        margin-bottom: 14px;
    }

}


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

@media (max-width: 550px) {

    .latest-works {
        padding: 65px 0 75px;
    }

    .latest-works-container {
        width: calc(100% - 30px);
    }

    .latest-works-label {
        font-size: 9px;
        letter-spacing: 2.5px;
    }

    .latest-works-title-row h2 {
        font-size: clamp(36px, 11vw, 50px);
        letter-spacing: -1.5px;
    }

    .latest-works-title-row h2 em::after {
        height: 9px;
        bottom: 3px;
    }

    .latest-works-grid {
        column-count: 2;
        column-gap: 9px;
    }

    .latest-work-item {
        margin-bottom: 9px;
    }

    .latest-work-overlay {
        padding: 12px;
    }

    .latest-work-overlay span {
        font-size: 8px;
        letter-spacing: 1px;
    }

    .latest-work-overlay i {
        width: 28px;
        height: 28px;
        font-size: 9px;
    }

    .latest-works-bottom {
        display: block;
        margin-top: 25px;
        padding-top: 18px;
    }

    .latest-works-bottom a {
        margin-top: 12px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .latest-works-grid {
        column-count: 1;
    }

}