@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500&family=Playfair+Display:wght@500;600&display=swap");
:root{--cream:#d8e4f0;--ink:#213e5c;--brown:#7a364e;--terracotta:#7a364e
;--blue:#aebbc5;--sage:#aab7ad;--lilac:#c7bfd0;--line:#bbb4aa;--soft:#e7e0d6;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.55 "DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}.site{width:min(calc(100% - 64px),var(--max));margin:auto}
.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.logo{font:19px "Playfair Display",serif;text-transform:none;letter-spacing:-.02em}.topbar nav{display:flex;gap:28px}.topbar nav a:hover{color:var(--terracotta)}
.hero{padding:50px 0 82px;border-bottom:1px solid var(--line)}.kicker,.label,.category-note{font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--brown)}.hero h1{margin:0;max-width:1050px;font:500 clamp(58px,8.5vw,124px)/.88 "Playfair Display",serif;letter-spacing:-.055em}.hero-bottom{margin-top:55px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.about-copy{max-width:720px;font-size:16px;margin:0 0 15px}.cta-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:34px}.pill{
    border:1px solid var(--terracotta);
    padding:12px 17px;
    font:10px "DM Mono",monospace;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--terracotta);
    background:transparent;
}

.pill.primary{
    background:transparent;
    border-color:var(--terracotta);
    color:var(--terracotta);
}.pill:hover{transform:translateY(-2px)}
.section{padding:78px 0 22px}.section.costumes{margin-top:100px}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:14px;margin-bottom:30px}.section-head h2{margin:0;font:500 37px "Playfair Display",serif}.section-number{font:10px "DM Mono",monospace;color:var(--brown)}.category-note{margin:-7px 0 25px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}.card{display:block}.card-image{position:relative;overflow:hidden;aspect-ratio:1/1.08;background:var(--soft)}.card:nth-child(4n+1) .card-image{background:var(--blue)}.card:nth-child(4n+2) .card-image{background:var(--sage)}.card:nth-child(4n+3) .card-image{background:var(--lilac)}.card:nth-child(4n) .card-image{background:#e0c8bc}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.55s}.card:hover img{transform:scale(1.025)}.card-info{display:grid;grid-template-columns:1fr auto;gap:20px;border-top:1px solid var(--ink);margin-top:10px;padding-top:12px}.card-title{font:26px "Playfair Display",serif}.card-sub,.card-year{font:9px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.card-sub{color:var(--brown);margin-top:3px}.card-year{font-size:10px}
.footer{margin-top:110px;border-top:1px solid var(--line);padding:28px 0 42px;display:flex;justify-content:space-between;font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.05em}
.project-hero{padding:58px 0 25px;border-bottom:1px solid var(--line)}.back{font:10px "DM Mono",monospace;text-transform:uppercase;color:var(--brown)}.project-title{max-width:1000px;margin:58px 0 20px;font:500 clamp(54px,8vw,112px)/.88 "Playfair Display",serif;letter-spacing:-.055em}.project-description{max-width:720px;font-size:16px}.project-meta{margin-top:38px;padding-top:14px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;font:9px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.gallery{padding:46px 0 90px;display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.gallery figure{margin:0}.gallery img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}.gallery .wide{grid-column:span 8}.gallery .narrow{grid-column:span 4}.gallery .full{grid-column:1/-1}.gallery figcaption{padding-top:7px;color:#756f68;font:9px "DM Mono",monospace;text-transform:uppercase}
@media(max-width:760px){.site{width:calc(100% - 30px)}.topbar{min-height:62px}.topbar nav{display:none}.hero{padding:58px 0 50px}.hero-bottom{grid-template-columns:1fr;gap:18px;margin-top:40px}.about-copy{font-size:14px}.grid{grid-template-columns:1fr;gap:42px}.section{padding-top:58px}.section.costumes{margin-top:65px}.section-head h2{font-size:30px}.project-meta{grid-template-columns:1fr 1fr}.gallery{display:block;padding-top:28px}.gallery figure{margin-bottom:22px}.gallery img{aspect-ratio:4/5}.footer{display:block}.footer div+div{margin-top:8px}}/* Intro image on project page */
.project-hero{
    display:grid;
    grid-template-columns:minmax(0, 2fr) minmax(240px, 1fr);
    column-gap:80px;
    align-items:center;
}

.project-hero .back,
.project-hero .project-title,
.project-hero .project-description{
    grid-column:1;
}

.project-hero .back{
    align-self:start;
}

.project-hero .intro-image{
    grid-column:2;
    grid-row:1 / 4;
    width:100%;
    max-width:310px;
    justify-self:center;
    align-self:center;
    margin:70px 0 0;
}

.project-hero .intro-image img{
    width:100%;
    aspect-ratio:1.414 / 1;
    object-fit:cover;
    display:block;
}

.project-hero .intro-image figcaption{
    margin-top:8px;
    font:9px "DM Mono",monospace;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--brown);
}

.project-hero .project-meta{
    grid-column:1 / -1;
    width:100%;
}

@media(max-width:900px){
    .project-hero{
        display:block;
    }

    .project-hero .intro-image{
        width:60%;
        max-width:310px;
        margin:35px auto;
    }
}.models{
    grid-column:1 / -1;
    white-space:nowrap;
    margin-top:15px;
}

@media(max-width:760px){
    .models{
        white-space:normal;
    }
}.gallery .half-square{
    grid-column:span 6;
}

.gallery .half-square.first{
    grid-column:1 / span 6;
}

.gallery .half-square img{
    width:100%;
    aspect-ratio:4 / 6;
    object-fit:cover;
}@media(max-width:760px){
    .gallery .landscape-full,
    .gallery .medium-center{
        width:100%;
    }
}.photo-trio{
    grid-column:1 / -1 !important;
    width:80%;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:18px;
}

.photo-trio figure{
    margin:0;
}

.photo-trio img{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    display:block;
}

.photo-trio-right{
    display:flex;
    flex-direction:column;
    gap:18px;
}.photo-trio > figure{
    transform:scale(1.09);
    transform-origin:top right;
}.related-project{
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid var(--ink);
    padding:22px 0;
    margin-top:20px;
}

.related-project span{
    font:10px "DM Mono", monospace;
    text-transform:uppercase;
    letter-spacing:.09em;
    color:var(--brown);
}

.related-project strong{
    font:500 20px "Playfair Display", serif;
}

.related-project:hover strong{
    color:var(--brown);
}.gallery .medium-center{
    grid-column:1 / -1;
    width:45%;
    justify-self:center;
}

.gallery .medium-center img{
    width:100%;
    aspect-ratio:3 / 4;
    object-fit:cover;
    display:block;
}.project-description a{
    color:var(--brown);
    text-decoration:underline;
    text-underline-offset:3px;
}

.project-description a:hover{
    opacity:.65;
}.gallery .landscape-center{
    grid-column:1 / -1;
    width:85%;
    justify-self:center;
}

.gallery .landscape-center img{
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
    display:block;
}.gallery .half-square-two{
    grid-column:span 6;
}

.gallery half-square-two.first{
    grid-column:1 / span 6;
}

.gallery .half-square-two img{
    width:100%;
    aspect-ratio:3 / 2;
    object-fit:cover;
}.contact-section{
    margin-top:110px;
    padding:60px 0 80px;
}

.contact-info{
    margin-top:35px;
    font:12px "DM Mono",monospace;
    text-transform:uppercase;
    letter-spacing:.06em;
    line-height:2;
}

.contact-info a{
    color:var(--brown);
}

.contact-info a:hover{
    opacity:.65;
}.contact-info{
    margin-top:35px;
}

.contact-row{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:18px;
    font:12px "DM Mono",monospace;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.contact-icon{
    width:24px;
    height:24px;
    fill:var(--ink);
    flex-shrink:0;
}

.contact-row a{
    color:var(--ink);
}

.contact-row a:hover{
    color:var(--brown);
}.youtube-video{
    grid-column:1 / -1;
    width:85%;
    justify-self:center;
    aspect-ratio:16 / 9;
}

.youtube-video iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}