/*==================================================
    Works Section (standalone pages)
    Background is the shared sketch/watercolor artwork
    (assets/images/page-bg.jpg); text sits directly on
    it in the same ink colour as the homepage artwork —
    no glass "bubble" card surfaces.
==================================================*/

.works-body{

    height:auto;

    min-height:100vh;

    overflow-y:auto;

    background-color:#ebded1;

    background-image:url("../assets/images/page-bg.jpg");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

    color:#2d2723;

}


/*======================================
    Scroll Reveal
    (from-bottom fade-up entrance)
======================================*/

.reveal{

    opacity:0;

    transform:translateY(42px);

    transition:opacity .9s cubic-bezier(.22,.61,.36,1),

               transform .9s cubic-bezier(.22,.61,.36,1);

}


.reveal.visible{

    opacity:1;

    transform:translateY(0);

}


@media (prefers-reduced-motion: reduce){

    .reveal{

        opacity:1;

        transform:none;

        transition:none;

    }

}


/* Staggered entrance for grid cards */

.works-grid .work-card:nth-child(1){transition-delay:.05s;}
.works-grid .work-card:nth-child(2){transition-delay:.10s;}
.works-grid .work-card:nth-child(3){transition-delay:.15s;}
.works-grid .work-card:nth-child(4){transition-delay:.20s;}
.works-grid .work-card:nth-child(5){transition-delay:.25s;}
.works-grid .work-card:nth-child(6){transition-delay:.30s;}
.works-grid .work-card:nth-child(7){transition-delay:.35s;}
.works-grid .work-card:nth-child(8){transition-delay:.40s;}
.works-grid .work-card:nth-child(9){transition-delay:.45s;}
.works-grid .work-card:nth-child(10){transition-delay:.50s;}
.works-grid .work-card:nth-child(11){transition-delay:.55s;}
.works-grid .work-card:nth-child(12){transition-delay:.60s;}


/* Sequenced entrance for page chrome + detail page elements */

.works-topbar.reveal{transition-delay:0s;}
.works-header.reveal{transition-delay:.12s;}

.work-back.reveal{transition-delay:.05s;}
.work-detail-subtitle.reveal{transition-delay:.12s;}
.work-detail-title.reveal{transition-delay:.20s;}
.work-detail-meta.reveal{transition-delay:.28s;}
.work-video.reveal{transition-delay:.34s;}
.work-detail-card.reveal{transition-delay:.42s;}
.work-nav-links.reveal{transition-delay:.50s;}


/*======================================
    Video Embed
======================================*/

.work-video{

    position:relative;

    width:100%;

    padding-top:56.25%;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(45,39,35,.15);

}


.work-video iframe{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    border:0;

}


/*======================================
    Programme Note
======================================*/

.work-section-label{

    font-size:13px;

    letter-spacing:3px;

    text-transform:uppercase;

    color:rgba(45,39,35,.6);

    margin:44px 0 16px;

}


.work-section-label:first-child{

    margin-top:0;

}


.work-program-note{

    font-family:"Cormorant Garamond",serif;

    font-size:20px;

    font-style:italic;

    line-height:2;

    text-align:center;

    color:#2d2723;

    margin-bottom:28px;

}


.work-program-note:last-child{

    margin-bottom:0;

}


.work-program-note-label{

    font-family:"Inter",sans-serif;

    font-style:normal;

    font-size:13px;

    font-weight:600;

    letter-spacing:2px;

    text-align:center;

    text-transform:uppercase;

    color:rgba(45,39,35,.6);

    margin:36px 0 18px;

}


.work-program-note-label:first-child{

    margin-top:0;

}


/*======================================
    Review / Adjudicator Feedback
======================================*/

.work-review{

    font-size:15.5px;

    line-height:1.85;

    color:rgba(45,39,35,.82);

}


.work-review p{

    margin-bottom:18px;

}


.work-review p:last-child{

    margin-bottom:0;

}


.work-review-signoff{

    margin-top:26px;

    font-style:italic;

    color:rgba(45,39,35,.75);

}


/*======================================
    Work Detail Layout
    (sidebar index + main content)
======================================*/

.work-detail-layout{

    max-width:1040px;

    margin:0 auto;

    padding:100px 32px 120px;

    display:flex;

    align-items:flex-start;

    gap:56px;

}


.work-detail-layout .work-detail{

    max-width:none;

    flex:1;

    min-width:0;

    padding:0;

}


/*======================================
    Works TOC Sidebar (desktop)
======================================*/

.work-toc-sidebar{

    width:230px;

    flex-shrink:0;

    position:sticky;

    top:100px;

}


.work-toc-label{

    font-size:12px;

    letter-spacing:2px;

    text-transform:uppercase;

    color:rgba(45,39,35,.55);

    margin-bottom:16px;

}


.work-toc-list{

    display:flex;

    flex-direction:column;

}


.work-toc-list a{

    display:flex;

    gap:10px;

    padding:10px 0;

    text-decoration:none;

    color:rgba(45,39,35,.65);

    font-size:14px;

    line-height:1.4;

    border-left:2px solid transparent;

    padding-left:14px;

    margin-left:-14px;

    transition:.25s;

}


.work-toc-list a:hover{

    color:#2d2723;

}


.work-toc-list a .work-toc-num{

    flex-shrink:0;

    opacity:.6;

    font-variant-numeric:tabular-nums;

}


.work-toc-list a.current{

    color:#2d2723;

    font-weight:600;

    border-left-color:#2d2723;

}


/*======================================
    Works TOC Toggle (mobile)
======================================*/

.work-toc-toggle{

    display:none;

    width:100%;

    align-items:center;

    justify-content:space-between;

    padding:14px 4px;

    border:none;

    outline:none;

    appearance:none;

    -webkit-appearance:none;

    background:none;

    border-bottom:1px solid rgba(45,39,35,.25);

    color:#2d2723;

    font-family:"Inter",sans-serif;

    font-size:14px;

    font-weight:600;

    letter-spacing:.5px;

    cursor:pointer;

}


.work-toc-toggle .work-toc-arrow{

    transition:transform .3s ease;

    font-size:12px;

}


.work-toc-toggle.open .work-toc-arrow{

    transform:rotate(180deg);

}


/*======================================
    Top Bar
======================================*/

.works-topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

    max-width:1100px;

    margin:0 auto;

    padding:40px 32px 20px;

}


.works-logo{

    font-family:"Great Vibes",cursive;

    font-size:32px;

    color:#2d2723;

    text-decoration:none;

}


.works-nav{

    display:flex;

    flex-wrap:wrap;

    justify-content:flex-end;

    gap:16px 28px;

    list-style:none;

}


.works-nav a{

    color:#2d2723;

    text-decoration:none;

    font-size:15px;

    letter-spacing:.5px;

    opacity:.75;

    transition:.25s;

}


.works-nav a:hover,

.works-nav a.active{

    opacity:1;

}


/*======================================
    Header
======================================*/

.works-header{

    max-width:1100px;

    margin:20px auto 10px;

    padding:20px 32px 0;

}


/* Extra top clearance on landscape/desktop widths so the
   subtitle + title don't collide with the corner notation
   doodle drawn into the shared background artwork. Portrait
   phones don't need this — background-size:cover crops that
   corner out of view at narrow, tall aspect ratios. */

@media screen and (min-width:601px){

    .works-header{

        margin-top:230px;

    }

}


.works-subtitle{

    font-size:14px;

    letter-spacing:4px;

    text-transform:uppercase;

    color:rgba(45,39,35,.65);

    margin-bottom:10px;

}


.works-title{

    font-family:"Cormorant Garamond",serif;

    font-weight:500;

    font-size:56px;

    color:#2d2723;

    margin-bottom:18px;

}


.works-divider{

    width:60px;

    height:3px;

    border-radius:2px;

    background:rgba(45,39,35,.4);

    margin-bottom:24px;

}


.works-intro{

    max-width:640px;

    font-size:17px;

    line-height:1.8;

    color:rgba(45,39,35,.85);

}


/*======================================
    Works Grid
======================================*/

.works-grid{

    max-width:1100px;

    margin:40px auto 100px;

    padding:0 32px;

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));

    gap:24px;

}


.work-card{

    display:block;

    text-decoration:none;

    color:inherit;

    padding:28px 26px;

    border-bottom:1px solid rgba(45,39,35,.2);

    transition:transform .3s ease, border-color .3s ease;

}


.work-card:hover{

    transform:translateY(-4px);

    border-color:rgba(45,39,35,.4);

}


.work-card-number{

    font-size:13px;

    letter-spacing:2px;

    color:rgba(45,39,35,.5);

    margin-bottom:14px;

}


.work-card-title{

    font-family:"Cormorant Garamond",serif;

    font-size:26px;

    font-weight:600;

    color:#2d2723;

    margin-bottom:10px;

    line-height:1.3;

}


.work-card-meta{

    font-size:14px;

    color:rgba(45,39,35,.7);

    line-height:1.6;

}


.work-card-year{

    display:inline-block;

    margin-top:16px;

    font-size:13px;

    letter-spacing:2px;

    color:rgba(45,39,35,.55);

}


/*======================================
    Individual Work Page
======================================*/

.work-detail{

    max-width:760px;

    margin:0 auto;

    padding:120px 32px 120px;

}


.work-back{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#2d2723;

    text-decoration:none;

    font-size:14px;

    letter-spacing:.5px;

    opacity:.75;

    margin-bottom:50px;

    transition:.25s;

}


.work-back:hover{

    opacity:1;

}


.work-detail-subtitle{

    font-size:14px;

    letter-spacing:4px;

    text-transform:uppercase;

    color:rgba(45,39,35,.6);

    margin-bottom:14px;

}


.work-detail-title{

    font-family:"Cormorant Garamond",serif;

    font-weight:500;

    font-size:48px;

    line-height:1.25;

    color:#2d2723;

    margin-bottom:20px;

}


.work-detail-meta{

    font-size:16px;

    color:rgba(45,39,35,.75);

    margin-bottom:36px;

}


.work-detail-divider{

    width:60px;

    height:3px;

    border-radius:2px;

    background:rgba(45,39,35,.4);

    margin-bottom:36px;

}


.work-detail-card{

    padding:0;

    border-top:1px solid rgba(45,39,35,.2);

    padding-top:36px;

}


.work-detail-placeholder{

    font-size:16px;

    line-height:1.85;

    color:rgba(45,39,35,.75);

}


.work-nav-links{

    display:flex;

    justify-content:space-between;

    margin-top:60px;

    font-size:14px;

}


.work-nav-links a{

    color:#2d2723;

    text-decoration:none;

    opacity:.75;

    transition:.25s;

}


.work-nav-links a:hover{

    opacity:1;

}


/*======================================
    Responsive
======================================*/

@media (max-width:600px){

    .work-detail-layout{

        flex-direction:column;

        padding:100px 22px 90px;

        gap:0;

    }

    .work-detail-layout .work-detail{

        padding:0;

    }

    .work-toc-toggle{

        display:flex;

        margin-bottom:28px;

    }

    .work-toc-sidebar{

        position:static;

        width:100%;

        display:none;

        margin-bottom:32px;

        padding:6px 0 12px;

        border-bottom:1px solid rgba(45,39,35,.2);

    }

    .work-toc-sidebar.open{

        display:block;

    }

    .work-program-note{

        font-size:17px;

    }

    .works-title{

        font-size:38px;

    }

    .work-detail-title{

        font-size:32px;

    }

    .works-topbar{

        padding:28px 22px 10px;

    }

    .works-nav{

        gap:10px 18px;

        justify-content:center;

    }

    .works-nav a{

        font-size:13px;

    }

    .works-header{

        padding:14px 22px 0;

    }

    .works-grid{

        padding:0 22px;

    }

}
