
/* ==================================
   STUDIO NOAH — BRAND COLOURS
================================== */

:root {

    --cream: #F8F2E9;

    --light-cream: #FFFDF9;

    --brown: #633D2E;

    --red: #9F1825;

    --soft-cream: #F0E5D8;

}


/* ==================================
   GENERAL
================================== */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {

    margin: 0;

    background: var(--cream);

    color: var(--brown);

    font-family: Georgia, serif;

    line-height: 1.6;

}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {

    font-weight: normal;

    line-height: 1.2;

}

h2 {
    font-size: clamp(32px, 4vw, 52px);
}

p {
    font-size: 16px;
}

.eyebrow {

    color: var(--red);

    font-family: Arial, sans-serif;

    font-size: 11px;

    font-weight: bold;

    letter-spacing: 3px;

}

.small-note {

    color: var(--red);

    font-style: italic;

    font-size: 14px;

    margin-top: 25px;

}


/* ==================================
   SLIM HEADER
================================== */

.site-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    height: 60px;

    padding: 4px 5%;

    gap: 24px;

}

.brand {

    display: flex;

    align-items: center;

    flex-shrink: 0;

    height: 100%;

}

.header-logo {

    display: block;

    width: auto;

    height: 48px;

    max-width: 160px;

    object-fit: contain;

}

nav {

    display: flex;

    flex-wrap: wrap;

    justify-content: flex-end;

    gap: 28px;

}

nav a {

    color: var(--brown);

    text-decoration: none;

    font-family: Arial, sans-serif;

    font-size: 12px;

    letter-spacing: 0.5px;

}

nav a:hover,
nav a[aria-current="page"] {
    color: var(--red);
}


/* ==================================
   HERO
================================== */

.hero {

    position: relative;

    width: 100%;

    min-height: 650px;

    display: flex;

    align-items: center;

    overflow: hidden;

}

.hero-image {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center 45%;

}

.hero-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(

        90deg,

        rgba(35, 20, 15, 0.78) 0%,

        rgba(35, 20, 15, 0.55) 45%,

        rgba(35, 20, 15, 0.08) 100%

    );

}

.hero-content {

    position: relative;

    z-index: 1;

    max-width: 800px;

    padding: 90px 8%;

    color: var(--light-cream);

}

.hero-eyebrow {
    color: var(--light-cream);
}

.hero h1 {

    color: var(--light-cream);

    font-size: clamp(42px, 5.5vw, 76px);

    line-height: 1.12;

    margin: 20px 0 25px;

}

.hero-subtitle {

    font-size: 20px;

    font-style: italic;

    margin-bottom: 40px;

}

.hero-button {

    display: inline-block;

    padding: 15px 28px;

    border: 1px solid var(--light-cream);

    color: var(--light-cream);

    text-decoration: none;

    font-family: Arial, sans-serif;

    font-size: 12px;

    letter-spacing: 1px;

    transition: background 0.2s, color 0.2s;

}

.hero-button:hover {

    background: var(--light-cream);

    color: var(--brown);

}


/* ==================================
   HOMEPAGE — OUR STORY
================================== */

.introduction {

    text-align: center;

    max-width: 850px;

    margin: 0 auto;

    padding: 100px 7%;

}

.introduction h2 {

    margin: 20px 0 30px;

}

.introduction > p:not(.eyebrow) {

    max-width: 600px;

    margin-left: auto;

    margin-right: auto;

}

.text-link {

    display: inline-block;

    margin-top: 25px;

    padding-bottom: 6px;

    color: var(--red);

    text-decoration: none;

    font-family: Arial, sans-serif;

    font-size: 12px;

    letter-spacing: 1px;

    border-bottom: 1px solid var(--red);

}

.text-link:hover {

    color: var(--brown);

    border-color: var(--brown);

}


/* ==================================
   BUILD YOUR BOX / CURATED BOXES
================================== */

.feature-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: 550px;

}

.feature-image {

    position: relative;

    min-height: 550px;

    overflow: hidden;

}

.feature-image img {

    display: block;

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.feature-content {

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: flex-start;

    padding: 75px 12%;

    background: var(--soft-cream);

}

.feature-content h2 {

    margin: 15px 0 30px;

}

.feature-content p {

    max-width: 480px;

}

.feature-content .small-note {

    margin-top: 15px;

}

.curated .feature-content {

    background: var(--light-cream);

}


/* ==================================
   INSTAGRAM GALLERY
================================== */

.instagram-section {

    padding: 100px 6%;

    background: var(--cream);

}

.instagram-heading {

    text-align: center;

    margin-bottom: 45px;

}

.instagram-heading h2 {

    margin: 15px 0 20px;

}

.instagram-heading-link {

    color: var(--brown);

    text-decoration: none;

}

.instagram-heading-link:hover {
    color: var(--red);
}

.instagram-grid {

    display: grid;

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

    gap: 15px;

    max-width: 1400px;

    margin: 0 auto;

}

.instagram-grid a {

    display: block;

    overflow: hidden;

}

.instagram-grid img {

    display: block;

    width: 100%;

    aspect-ratio: 1 / 1;

    object-fit: cover;

    transition: transform 0.3s ease;

}

.instagram-grid a:hover img {
    transform: scale(1.04);
}

.instagram-link {

    display: block;

    width: fit-content;

    margin: 35px auto 0;

    color: var(--red);

    text-decoration: none;

    font-family: Arial, sans-serif;

    font-size: 12px;

    letter-spacing: 1px;

    border-bottom: 1px solid var(--red);

    padding-bottom: 5px;

}

.instagram-link:hover {

    color: var(--brown);

    border-color: var(--brown);

}


/* ==================================
   ENQUIRIES / BESPOKE
================================== */

.contact-section {

    background: var(--soft-cream);

    padding: 100px 7%;

}

.contact-heading {

    text-align: center;

    max-width: 750px;

    margin: 0 auto 55px;

}

.contact-heading h2 {

    margin: 15px 0 25px;

}

.contact-heading p {

    max-width: 600px;

    margin-left: auto;

    margin-right: auto;

}

.bespoke-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 30px;

    max-width: 1050px;

    margin: 0 auto;

}

.bespoke-item {
    text-align: center;
}

.bespoke-item img,
.bespoke-placeholder {

    display: block;

    width: 100%;

    aspect-ratio: 4 / 5;

    object-fit: cover;

}

.bespoke-placeholder {

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 30px;

    background: #E2D3C2;

    border: 1px solid #CDB8A2;

    color: var(--brown);

    text-align: center;

    font-family: Arial, sans-serif;

    font-size: 13px;

    letter-spacing: 0.5px;

}

.bespoke-item h3 {

    font-size: 26px;

    margin: 25px 0 10px;

}

.bespoke-item p {

    max-width: 360px;

    margin: 0 auto;

}

.contact-note {

    color: var(--red);

    font-style: italic;

    font-size: 14px;

    text-align: center;

    margin: 50px auto 0;

}


/* ==================================
   STORY PAGE — INTRODUCTION
================================== */

.story-intro {

    text-align: center;

    padding: 100px 7% 90px;

}

.story-intro h1 {

    color: var(--red);

    font-size: clamp(42px, 5.5vw, 76px);

    line-height: 1.12;

    margin: 20px 0 25px;

}

.story-intro-subtitle {

    max-width: 550px;

    margin: 0 auto;

    font-style: italic;

    font-size: 18px;

}


/* ==================================
   STORY PAGE — MAIN CONTENT
================================== */

.story-container {

    width: min(1200px, 86%);

    margin: 0 auto;

}

.story-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 9%;

    align-items: center;

    margin-bottom: 130px;

}

.story-section.reverse .story-image {
    order: 2;
}

.story-image {
    width: 100%;
}

.story-image img {

    display: block;

    width: 100%;

    object-fit: cover;

}

.story-image.portrait img {
    aspect-ratio: 3 / 4;
}

.story-image.landscape img {
    aspect-ratio: 4 / 3;
}

.story-copy {
    max-width: 470px;
}

.story-copy h2 {

    color: var(--red);

    margin: 15px 0 30px;

}

.story-copy p {

    line-height: 1.8;

    margin-bottom: 22px;

}


/* ==================================
   STORY PAGE — PHILOSOPHY
================================== */

.story-philosophy {

    text-align: center;

    max-width: 780px;

    margin: 0 auto;

    padding: 20px 20px 130px;

}

.story-philosophy h2 {

    color: var(--red);

    margin: 15px 0 30px;

}

.story-statement {

    color: var(--red);

    font-style: italic;

    font-size: clamp(24px, 3vw, 36px);

    line-height: 1.5;

    margin: 35px auto;

}

.story-philosophy-copy {

    max-width: 630px;

    margin: 0 auto;

}

.story-philosophy-copy p {

    line-height: 1.8;

    margin-bottom: 22px;

}


/* ==================================
   STORY PAGE — DIVIDERS
================================== */

.story-divider {

    width: 65px;

    height: 1px;

    background: var(--red);

    margin: 65px auto;

}


/* ==================================
   STORY PAGE — WHY NOAH
================================== */

.story-noah {

    background: var(--soft-cream);

    padding: 110px 7%;

}

.story-noah-inner {

    max-width: 850px;

    margin: 0 auto;

    text-align: center;

}

.story-noah-image {

    margin-bottom: 70px;

}

.story-noah-image img {

    display: block;

    width: 100%;

    height: auto;

}

.story-noah h2 {

    color: var(--red);

    margin: 15px 0 30px;

}

.story-noah-copy {

    max-width: 650px;

    margin: 0 auto;

    text-align: left;

}

.story-noah-copy p {

    line-height: 1.8;

    margin-bottom: 22px;

}

.story-teta-heading {
    font-style: italic;
}

.story-closing {

    color: var(--red);

    font-style: italic;

    font-size: clamp(24px, 3vw, 32px);

    line-height: 1.5;

    margin-bottom: 0;

}


/* ==================================
   ARABIC TEXT
================================== */

.story-noah [lang="ar"] {

    font-family: 'Noto Naskh Arabic', Georgia, serif;

    font-size: 1.15em;

}


/* ==================================
   FOOTER — BOTH PAGES
================================== */

.site-footer {

    background: var(--red);

    color: var(--cream);

    text-align: center;

    padding: 60px 20px;

}

.footer-brand {

    font-size: 22px;

    letter-spacing: 3px;

    margin-bottom: 15px;

}

.footer-tagline {

    font-style: italic;

    margin-bottom: 25px;

}

.footer-location {

    font-size: 14px;

    line-height: 1.8;

    margin-bottom: 25px;

}

.footer-instagram {

    display: inline-block;

    color: var(--cream);

    text-decoration: none;

    font-family: Arial, sans-serif;

    font-size: 12px;

    letter-spacing: 1px;

    border-bottom: 1px solid var(--cream);

    padding-bottom: 5px;

}

.footer-instagram:hover {

    opacity: 0.75;

}

.copyright {

    font-family: Arial, sans-serif;

    font-size: 11px;

    margin-top: 35px;

    margin-bottom: 0;

}


/* ==================================
   MOBILE — BOTH PAGES
================================== */

@media (max-width: 700px) {


    /* HEADER */

    .site-header {

        height: auto;

        min-height: 64px;

        flex-direction: column;

        gap: 8px;

        padding: 8px 4%;

    }

    .header-logo {

        height: 45px;

        width: auto;

    }

    nav {

        justify-content: center;

        gap: 12px 20px;

    }

    nav a {
        font-size: 11px;
    }


    /* HOMEPAGE HERO */

    .hero {

        min-height: 620px;

        align-items: flex-end;

    }

    .hero-image {
        object-position: center;
    }

    .hero-overlay {

        background: linear-gradient(

            0deg,

            rgba(35, 20, 15, 0.85) 0%,

            rgba(35, 20, 15, 0.25) 100%

        );

    }

    .hero-content {
        padding: 65px 7%;
    }

    .hero h1 {
        font-size: clamp(38px, 10vw, 52px);
    }

    .hero-subtitle {
        font-size: 17px;
    }


    /* HOMEPAGE INTRODUCTION */

    .introduction {
        padding: 75px 7%;
    }


    /* PRODUCT SECTIONS */

    .feature-section {
        grid-template-columns: 1fr;
    }

    .feature-image {
        min-height: 400px;
    }

    .feature-content {
        padding: 65px 7%;
    }

    .curated .feature-image {
        order: -1;
    }


    /* INSTAGRAM */

    .instagram-section {
        padding: 75px 5%;
    }

    .instagram-grid {
        gap: 6px;
    }


    /* ENQUIRIES */

    .contact-section {
        padding: 80px 5%;
    }

    .bespoke-grid {
        gap: 15px;
    }

    .bespoke-item h3 {
        font-size: 20px;
    }

    .bespoke-item p {
        font-size: 14px;
    }

    .bespoke-placeholder {

        padding: 12px;

        font-size: 11px;

    }


    /* STORY INTRODUCTION */

    .story-intro {
        padding: 70px 7%;
    }

    .story-intro h1 {
        font-size: clamp(38px, 10vw, 52px);
    }

    .story-intro-subtitle {
        font-size: 16px;
    }


    /* STORY CONTENT */

    .story-section {

        grid-template-columns: 1fr;

        gap: 35px;

        margin-bottom: 90px;

    }

    .story-section.reverse .story-image {
        order: 0;
    }

    .story-copy {
        max-width: 100%;
    }


    /* STORY PHILOSOPHY */

    .story-philosophy {
        padding-bottom: 90px;
    }


    /* WHY NOAH */

    .story-noah {
        padding: 75px 7%;
    }

    .story-noah-image {
        margin-bottom: 50px;
    }

    .story-divider {
        margin: 50px auto;
    }

}


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

@media (max-width: 400px) {

    nav {
        gap: 10px 14px;
    }

    nav a {
        font-size: 10px;
    }

    .story-intro h1 {
        font-size: 36px;
    }

    .story-noah {
        padding-left: 6%;
        padding-right: 6%;
    }

}



/* ==================================
   ENQUIRIES PAGE
================================== */


/* PAGE INTRODUCTION */

.enquiry-intro {

    text-align: center;

    max-width: 1050px;

    margin: 0 auto;

    padding: 100px 7% 80px;

}

.enquiry-intro h1 {

    color: var(--red);

    font-size: clamp(42px, 5.5vw, 76px);

    line-height: 1.12;

    margin: 20px 0 30px;

}

.enquiry-subtitle {

    max-width: 650px;

    margin: 0 auto 50px;

    font-size: 18px;

    font-style: italic;

}


/* COLLECTION NOTICE */

.collection-notice {

    display: flex;

    align-items: flex-start;

    gap: 20px;

    max-width: 750px;

    margin: 0 auto;

    padding: 30px;

    background: var(--soft-cream);

    text-align: left;

}

.collection-icon {

    color: var(--red);

    font-size: 24px;

    line-height: 1;

}

.collection-notice h2 {

    color: var(--brown);

    font-size: 22px;

    margin-bottom: 12px;

}

.collection-notice p {

    margin-bottom: 0;

    font-size: 14px;

    line-height: 1.8;

}


/* MAIN FORM SECTION */

.enquiry-section {

    background: var(--light-cream);

    padding: 100px 7%;

}

.enquiry-container {

    max-width: 760px;

    margin: 0 auto;

}

.enquiry-heading {

    text-align: center;

    margin-bottom: 70px;

}

.enquiry-heading h2 {

    color: var(--red);

    margin: 15px 0 25px;

}

.enquiry-heading p:last-child {

    max-width: 520px;

    margin: 0 auto;

}


/* FORM GROUPS */

.enquiry-form {

    width: 100%;

}

.form-group {

    border: none;

    padding: 0;

    margin: 0;

    min-width: 0;

}

.form-number {

    display: block;

    color: var(--red);

    font-family: Arial, sans-serif;

    font-size: 11px;

    font-weight: bold;

    letter-spacing: 2px;

    margin-bottom: 20px;

}

.form-label {

    display: block;

    color: var(--brown);

    font-family: Georgia, serif;

    font-size: 24px;

    line-height: 1.4;

    margin-bottom: 22px;

}

.required {

    color: var(--red);

}

.form-help {

    color: var(--brown);

    opacity: 0.8;

    font-size: 13px;

    font-style: italic;

    margin-top: 12px;

    margin-bottom: 0;

    line-height: 1.7;

}

.form-divider {

    width: 100%;

    height: 1px;

    background: #E5D8CB;

    margin: 55px 0;

}


/* TEXT INPUTS */

.enquiry-form input[type="text"],
.enquiry-form input[type="email"],
.enquiry-form input[type="tel"],
.enquiry-form input[type="date"],
.enquiry-form textarea {

    display: block;

    width: 100%;

    padding: 17px 18px;

    border: 1px solid #D8C8B9;

    border-radius: 0;

    background: var(--light-cream);

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 15px;

    line-height: 1.6;

    outline: none;

    transition: border-color 0.2s;

}

.enquiry-form textarea {

    resize: vertical;

    min-height: 110px;

}

.enquiry-form input:focus,
.enquiry-form textarea:focus {

    border-color: var(--red);

}

.enquiry-form input::placeholder,
.enquiry-form textarea::placeholder {

    color: #9B897C;

}


/* RADIO AND CHECKBOX OPTIONS */

.radio-options,
.checkbox-options {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px 25px;

}

.option-label {

    display: flex;

    align-items: flex-start;

    gap: 12px;

    cursor: pointer;

    font-family: Arial, sans-serif;

    font-size: 14px;

    line-height: 1.6;

}

.option-label input[type="radio"],
.option-label input[type="checkbox"] {

    width: 17px;

    height: 17px;

    margin: 2px 0 0;

    flex-shrink: 0;

    accent-color: var(--red);

    cursor: pointer;

}

.flexible-date {

    margin-top: 20px;

}


/* DIETARY REQUIREMENTS */

.dietary-details-label {

    font-size: 18px;

    margin-top: 35px;

    margin-bottom: 15px;

}

.allergy-notice {

    background: var(--soft-cream);

    padding: 25px;

    margin-top: 25px;

}

.allergy-notice p {

    font-size: 13px;

    line-height: 1.8;

    margin-bottom: 0;

}


/* CONTACT DETAILS */

.form-section-heading {

    color: var(--red);

    margin-bottom: 35px;

}

.contact-fields {

    display: grid;

    gap: 30px;

}

.contact-fields .form-label {

    font-size: 18px;

    margin-bottom: 12px;

}


/* CONFIRMATION NOTE */

.enquiry-confirmation-note {

    background: var(--soft-cream);

    padding: 30px;

    margin-top: 60px;

}

.enquiry-confirmation-note h3 {

    color: var(--red);

    font-size: 24px;

    margin-bottom: 15px;

}

.enquiry-confirmation-note p {

    margin-bottom: 0;

    line-height: 1.8;

}

.privacy-note {

    font-family: Arial, sans-serif;

    font-size: 12px;

    line-height: 1.8;

    margin: 30px 0;

}


/* SUBMIT BUTTON */

.enquiry-submit {

    display: block;

    width: 100%;

    padding: 20px 30px;

    background: var(--red);

    color: var(--light-cream);

    border: 1px solid var(--red);

    font-family: Arial, sans-serif;

    font-size: 13px;

    letter-spacing: 1px;

    cursor: pointer;

    transition: background 0.2s, color 0.2s;

}

.enquiry-submit:hover:not(:disabled) {

    background: var(--brown);

    border-color: var(--brown);

}

.enquiry-submit:disabled {

    opacity: 0.5;

    cursor: not-allowed;

}

.submit-help {

    text-align: center;

    margin-top: 20px;

}

.submit-help a {

    color: var(--red);

}

.form-status {

    margin-top: 25px;

    text-align: center;

    font-size: 15px;

}

.form-status.success {

    color: #326443;

}

.form-status.error {

    color: var(--red);

}


/* CLOSING SECTION */

.enquiry-closing {

    text-align: center;

    padding: 100px 7%;

    max-width: 850px;

    margin: 0 auto;

}

.enquiry-closing h2 {

    color: var(--red);

    margin: 20px 0 30px;

}

.enquiry-closing p:last-child {

    max-width: 550px;

    margin: 0 auto;

}


/* ==================================
   ENQUIRIES PAGE — MOBILE
================================== */

@media (max-width: 700px) {

    .enquiry-intro {

        padding: 70px 7%;

    }

    .enquiry-intro h1 {

        font-size: clamp(38px, 10vw, 52px);

    }

    .enquiry-subtitle {

        font-size: 16px;

    }

    .collection-notice {

        padding: 22px;

        gap: 15px;

    }

    .collection-notice h2 {

        font-size: 19px;

    }

    .enquiry-section {

        padding: 75px 7%;

    }

    .enquiry-heading {

        margin-bottom: 55px;

    }

    .form-label {

        font-size: 21px;

    }

    .radio-options,
    .checkbox-options {

        grid-template-columns: 1fr;

    }

    .form-divider {

        margin: 45px 0;

    }

    .enquiry-confirmation-note {

        padding: 25px;

    }

    .enquiry-closing {

        padding: 75px 7%;

    }

}


/* ==================================
   CURATED BOXES PAGE
================================== */


/* PAGE INTRODUCTION */

.curated-page-intro {

    background: var(--cream);

    text-align: center;

    padding: 105px 7% 95px;

}

.curated-page-intro h1 {

    color: var(--red);

    font-size: clamp(42px, 5.5vw, 76px);

    line-height: 1.12;

    margin: 20px 0 30px;

}

.curated-page-subtitle {

    max-width: 620px;

    margin: 0 auto 35px;

    font-size: 18px;

    font-style: italic;

    line-height: 1.8;

}

.curated-launch-note {

    display: inline-block;

    margin: 0;

    padding: 11px 20px;

    border: 1px solid var(--red);

    color: var(--red);

    font-family: Arial, sans-serif;

    font-size: 10px;

    letter-spacing: 1.5px;

}


/* COLLECTION HEADING */

.curated-page-heading {

    max-width: 850px;

    margin: 0 auto;

    padding: 95px 7% 70px;

    text-align: center;

}

.curated-page-heading h2 {

    color: var(--red);

    margin: 15px 0 25px;

}

.curated-page-heading p:last-child {

    max-width: 500px;

    margin: 0 auto;

}


/* PRODUCT COLLECTION */

.curated-products {

    background: var(--light-cream);

    padding: 40px 7% 110px;

}

.curated-product-grid {

    display: grid;

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

    gap: 55px 35px;

    max-width: 1200px;

    margin: 0 auto;

    align-items: start;

}


/* PRODUCT CARD */

.curated-product {

    background: var(--light-cream);

    border: 1px solid #E5D8CB;

    min-width: 0;

    overflow: hidden;

}

.curated-product-image {

    position: relative;

    width: 100%;

    aspect-ratio: 5 / 4;

    overflow: hidden;

    background: var(--soft-cream);

}

.curated-product-image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.4s ease;

}

.curated-product:hover .curated-product-image img {

    transform: scale(1.035);

}

.curated-image-badge {

    position: absolute;

    left: 20px;

    bottom: 20px;

    padding: 10px 14px;

    background: var(--light-cream);

    color: var(--red);

    font-family: Arial, sans-serif;

    font-size: 9px;

    font-weight: bold;

    letter-spacing: 1.5px;

}


/* PRODUCT CONTENT */

.curated-product-content {

    padding: 35px;

}

.curated-product-number {

    color: var(--red);

    font-family: Arial, sans-serif;

    font-size: 10px;

    font-weight: bold;

    letter-spacing: 2px;

    margin-bottom: 15px;

}

.curated-product h3 {

    color: var(--brown);

    font-size: clamp(28px, 3vw, 38px);

    margin-bottom: 20px;

}

.curated-product-description {

    min-height: 105px;

    font-size: 15px;

    line-height: 1.8;

    margin-bottom: 35px;

}


/* SIZE SELECTOR */

.curated-field-heading {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 13px;

    font-weight: bold;

    margin: 0;

}

.curated-size-selector {

    margin-bottom: 22px;

}

.curated-size-selector .curated-field-heading {

    margin-bottom: 15px;

}

.curated-size-options {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 0;

    border: 1px solid #D8C8B9;

}

.curated-size-button {

    padding: 15px 10px;

    background: transparent;

    color: var(--brown);

    border: none;

    font-family: Arial, sans-serif;

    font-size: 13px;

    cursor: pointer;

    transition: background 0.2s, color 0.2s;

}

.curated-size-button + .curated-size-button {

    border-left: 1px solid #D8C8B9;

}

.curated-size-button.active {

    background: var(--red);

    color: var(--light-cream);

}

.curated-size-button:hover:not(.active) {

    background: var(--soft-cream);

}


/* PRICE PANEL */

.curated-price-panel {

    background: var(--cream);

    padding: 22px;

    margin-bottom: 20px;

}

.curated-price-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 15px;

}

.curated-selected-size {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 14px;

    font-weight: bold;

}

.curated-price {

    color: var(--red);

    font-family: Georgia, serif;

    font-size: 29px;

    line-height: 1.2;

    white-space: nowrap;

}

.curated-item-count {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 12px;

    margin: 8px 0 0;

}


/* EXPANDABLE DETAILS */

.curated-details {

    border-bottom: 1px solid #E5D8CB;

    margin-bottom: 25px;

}

.curated-details summary {

    position: relative;

    padding: 17px 25px 17px 0;

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 13px;

    font-weight: bold;

    cursor: pointer;

    list-style: none;

}

.curated-details summary::-webkit-details-marker {

    display: none;

}

.curated-details summary::after {

    content: "+";

    position: absolute;

    right: 0;

    top: 50%;

    transform: translateY(-50%);

    color: var(--red);

    font-size: 20px;

    font-weight: normal;

}

.curated-details[open] summary::after {

    content: "−";

}

.curated-details-content {

    padding: 0 0 20px;

}

.curated-details-content p {

    font-size: 13px;

    line-height: 1.8;

    margin-bottom: 12px;

}

.curated-details-content p:last-child {

    margin-bottom: 0;

}


/* QUANTITY SELECTOR */

.curated-quantity-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    margin-bottom: 25px;

}

.curated-quantity-control {

    display: flex;

    align-items: center;

    border: 1px solid #D8C8B9;

}

.curated-quantity-control button {

    width: 40px;

    height: 40px;

    background: transparent;

    border: none;

    color: var(--brown);

    font-size: 20px;

    cursor: pointer;

}

.curated-quantity-control button:hover:not(:disabled) {

    background: var(--soft-cream);

}

.curated-quantity-control button:disabled {

    opacity: 0.3;

    cursor: not-allowed;

}

.curated-quantity-value {

    min-width: 35px;

    text-align: center;

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 14px;

}


/* SUBTOTAL */

.curated-subtotal-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 20px 0;

    margin-bottom: 20px;

    border-top: 1px solid #E5D8CB;

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 14px;

}

.curated-subtotal {

    color: var(--brown);

    font-family: Georgia, serif;

    font-size: 24px;

}


/* ADD TO BASKET */

.curated-add-button {

    display: block;

    width: 100%;

    padding: 19px 15px;

    background: var(--red);

    border: 1px solid var(--red);

    color: var(--light-cream);

    font-family: Arial, sans-serif;

    font-size: 12px;

    letter-spacing: 0.5px;

    cursor: pointer;

    transition: background 0.2s;

}

.curated-add-button:hover:not(:disabled) {

    background: var(--brown);

    border-color: var(--brown);

}

.curated-add-button:disabled {

    opacity: 0.55;

    cursor: not-allowed;

}


/* COLLECTION INFORMATION */

.curated-info-section {

    background: var(--soft-cream);

    padding: 105px 7%;

    text-align: center;

}

.curated-info-inner {

    max-width: 700px;

    margin: 0 auto;

}

.curated-info-inner h2 {

    color: var(--brown);

    margin: 20px 0 30px;

}

.curated-info-inner > p:not(.eyebrow) {

    max-width: 570px;

    margin-left: auto;

    margin-right: auto;

    line-height: 1.8;

}

.curated-info-note {

    color: var(--red);

    font-style: italic;

    font-size: 14px;

    margin-top: 30px;

}


/* ENQUIRIES CTA */

.curated-page-contact {

    max-width: 850px;

    margin: 0 auto;

    padding: 110px 7%;

    text-align: center;

}

.curated-page-contact h2 {

    color: var(--red);

    margin: 20px 0 30px;

}

.curated-page-contact > p:not(.eyebrow) {

    max-width: 550px;

    margin: 0 auto 35px;

    line-height: 1.8;

}

.curated-page-contact-button {

    display: inline-block;

    padding: 16px 30px;

    background: var(--red);

    border: 1px solid var(--red);

    color: var(--light-cream);

    text-decoration: none;

    font-family: Arial, sans-serif;

    font-size: 12px;

    letter-spacing: 1px;

    transition: background 0.2s, color 0.2s;

}

.curated-page-contact-button:hover {

    background: transparent;

    color: var(--red);

}


/* ==================================
   CURATED BOXES — MOBILE
================================== */

@media (max-width: 700px) {

    .curated-page-intro {

        padding: 75px 7%;

    }

    .curated-page-intro h1 {

        font-size: clamp(38px, 10vw, 52px);

    }

    .curated-page-subtitle {

        font-size: 16px;

    }

    .curated-page-heading {

        padding: 75px 7% 45px;

    }

    .curated-products {

        padding: 25px 5% 75px;

    }

    .curated-product-grid {

        grid-template-columns: 1fr;

        gap: 35px;

    }

    .curated-product-content {

        padding: 25px;

    }

    .curated-product-description {

        min-height: 0;

    }

    .curated-info-section {

        padding: 75px 7%;

    }

    .curated-page-contact {

        padding: 75px 7%;

    }

}


/* SMALL PHONES */

@media (max-width: 400px) {

    .curated-product-content {

        padding: 20px;

    }

    .curated-size-button {

        font-size: 12px;

        padding: 14px 6px;

    }

    .curated-price-panel {

        padding: 18px;

    }

}


/* ==================================
   BUILD YOUR BOX PAGE
================================== */


/* HERO */

.build-hero {

    background: var(--cream);

    text-align: center;

    padding: 105px 7% 95px;

}

.build-hero h1 {

    color: var(--red);

    font-size: clamp(42px, 5.5vw, 76px);

    line-height: 1.12;

    margin: 20px 0 30px;

}

.build-hero-subtitle {

    max-width: 620px;

    margin: 0 auto 40px;

    font-size: 18px;

    font-style: italic;

    line-height: 1.8;

}


/* MINIMUM SPEND NOTICE */

.build-minimum-notice {

    display: flex;

    align-items: center;

    gap: 20px;

    max-width: 520px;

    margin: 0 auto;

    padding: 22px 28px;

    background: var(--light-cream);

    border: 1px solid #E5D8CB;

    text-align: left;

}

.build-minimum-icon {

    color: var(--red);

    font-size: 30px;

    line-height: 1;

}

.build-minimum-notice strong {

    display: block;

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 14px;

    margin-bottom: 7px;

}

.build-minimum-notice p {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 12px;

    line-height: 1.6;

    margin: 0;

}


/* INTRODUCTION */

.build-introduction {

    max-width: 850px;

    margin: 0 auto;

    padding: 95px 7% 80px;

    text-align: center;

}

.build-introduction h2 {

    color: var(--red);

    margin: 20px 0 30px;

}

.build-introduction > p:not(.eyebrow) {

    max-width: 600px;

    margin-left: auto;

    margin-right: auto;

    line-height: 1.8;

}

.build-placeholder-note {

    color: var(--red);

    font-size: 13px;

    font-style: italic;

    margin-top: 25px;

}


/* ==================================
   SHOP LAYOUT
================================== */

.build-shop-layout {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr) 320px;

    gap: 45px;

    max-width: 1450px;

    margin: 0 auto;

    padding: 0 5% 110px;

    align-items: start;

}

.build-collections {

    min-width: 0;

}


/* ==================================
   CATEGORY SECTIONS
================================== */

.build-category {

    background: var(--light-cream);

    border: 1px solid #E5D8CB;

    padding: 35px;

    margin-bottom: 45px;

}

.build-category:last-child {

    margin-bottom: 0;

}

.build-category-heading {

    margin-bottom: 35px;

}

.build-category-number {

    color: var(--red);

    font-family: Arial, sans-serif;

    font-size: 10px;

    font-weight: bold;

    letter-spacing: 2px;

    margin-bottom: 15px;

}

.build-category-heading h2 {

    color: var(--brown);

    font-size: clamp(30px, 3vw, 42px);

    margin-bottom: 15px;

}

.build-category-heading > p:not(.build-category-number) {

    max-width: 530px;

    font-size: 15px;

    line-height: 1.8;

    margin-bottom: 0;

}

.build-seasonal-label {

    display: inline-block;

    margin-top: 20px;

    padding: 9px 12px;

    border: 1px solid var(--red);

    color: var(--red);

    font-family: Arial, sans-serif;

    font-size: 9px;

    letter-spacing: 1.5px;

}


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

.build-product-grid {

    display: grid;

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

    gap: 25px;

}


/* PRODUCT CARD */

.build-product-card {

    min-width: 0;

    background: var(--light-cream);

    border: 1px solid #E5D8CB;

    overflow: hidden;

    transition: border-color 0.2s;

}

.build-product-card.selected {

    border-color: var(--red);

}


/* PRODUCT IMAGE */

.build-product-image {

    width: 100%;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    background: var(--soft-cream);

}

.build-product-image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.4s ease;

}

.build-product-card:hover img {

    transform: scale(1.035);

}


/* PRODUCT CONTENT */

.build-product-content {

    padding: 20px;

}

.build-product-content h3 {

    color: var(--brown);

    font-size: 21px;

    line-height: 1.3;

    margin-bottom: 12px;

}

.build-product-description {

    min-height: 55px;

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 12px;

    line-height: 1.7;

    margin-bottom: 25px;

}


/* PRICE AND QUANTITY */

.build-product-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    padding-top: 17px;

    border-top: 1px solid #E5D8CB;

}

.build-product-price {

    color: var(--red);

    font-family: Georgia, serif;

    font-size: 22px;

    white-space: nowrap;

}

.build-product-quantity {

    display: flex;

    align-items: center;

    border: 1px solid #D8C8B9;

}

.build-product-quantity button {

    width: 34px;

    height: 36px;

    border: none;

    background: transparent;

    color: var(--brown);

    font-size: 19px;

    cursor: pointer;

}

.build-product-quantity button:hover:not(:disabled) {

    background: var(--soft-cream);

}

.build-product-quantity button:disabled {

    opacity: 0.3;

    cursor: not-allowed;

}

.build-product-quantity-value {

    min-width: 28px;

    text-align: center;

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 13px;

}


/* ==================================
   BOX SUMMARY
================================== */

.build-summary {

    position: sticky;

    top: 25px;

    align-self: start;

}

.build-summary-inner {

    background: var(--light-cream);

    border: 1px solid #E5D8CB;

    padding: 28px;

}

.build-summary-heading {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 15px;

    margin-bottom: 25px;

}

.build-summary-heading .eyebrow {

    margin-bottom: 10px;

}

.build-summary-heading h2 {

    color: var(--brown);

    font-size: 30px;

    margin: 0;

}

.build-bag-icon {

    color: var(--red);

    font-size: 30px;

}

.build-empty-message {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 13px;

    line-height: 1.7;

    padding: 25px 0;

    border-bottom: 1px solid #E5D8CB;

}

.build-empty-message[hidden] {

    display: none;

}


/* SELECTED ITEMS */

.build-summary-items {

    max-height: 300px;

    overflow-y: auto;

}

.build-summary-item {

    display: flex;

    justify-content: space-between;

    gap: 15px;

    padding: 14px 0;

    border-bottom: 1px solid #E5D8CB;

}

.build-summary-item-info {

    display: flex;

    flex-direction: column;

    gap: 6px;

    min-width: 0;

}

.build-summary-item-name {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 12px;

    font-weight: bold;

    line-height: 1.5;

}

.build-summary-item-quantity {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 11px;

    opacity: 0.75;

}

.build-summary-item-price {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 12px;

    white-space: nowrap;

}


/* SUBTOTAL */

.build-summary-total {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 15px;

    padding: 25px 0;

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 14px;

}

.build-summary-total strong {

    font-family: Georgia, serif;

    font-size: 25px;

    font-weight: normal;

}


/* ==================================
   MINIMUM SPEND PROGRESS
================================== */

.build-progress-section {

    padding-bottom: 25px;

}

.build-progress-label {

    display: flex;

    justify-content: space-between;

    gap: 15px;

    margin-bottom: 12px;

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 12px;

}

.build-progress-label strong {

    color: var(--red);

}

.build-progress-track {

    width: 100%;

    height: 6px;

    background: #E5D8CB;

    overflow: hidden;

}

.build-progress-fill {

    width: 0;

    height: 100%;

    background: var(--red);

    transition: width 0.25s ease;

}

.build-progress-message {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 12px;

    margin: 12px 0 0;

}

.build-progress-message.complete {

    color: var(--red);

    font-weight: bold;

}


/* CHECKOUT BUTTON */

.build-checkout-button {

    width: 100%;

    padding: 18px 12px;

    background: var(--red);

    border: 1px solid var(--red);

    color: var(--light-cream);

    font-family: Arial, sans-serif;

    font-size: 11px;

    letter-spacing: 0.5px;

    cursor: pointer;

}

.build-checkout-button:disabled {

    opacity: 0.55;

    cursor: not-allowed;

}

.build-checkout-note {

    color: var(--brown);

    font-family: Arial, sans-serif;

    font-size: 10px;

    line-height: 1.6;

    text-align: center;

    margin: 15px 0 0;

}


/* ==================================
   CLOSING SECTION
================================== */

.build-closing {

    background: var(--soft-cream);

    padding: 105px 7%;

    text-align: center;

}

.build-closing h2 {

    max-width: 750px;

    margin: 20px auto 30px;

    color: var(--red);

}

.build-closing > p:not(.eyebrow) {

    max-width: 550px;

    margin: 0 auto 35px;

    line-height: 1.8;

}

.build-enquiry-button {

    display: inline-block;

    padding: 16px 30px;

    background: var(--red);

    border: 1px solid var(--red);

    color: var(--light-cream);

    text-decoration: none;

    font-family: Arial, sans-serif;

    font-size: 12px;

    letter-spacing: 1px;

    transition: background 0.2s, color 0.2s;

}

.build-enquiry-button:hover {

    background: transparent;

    color: var(--red);

}


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

@media (max-width: 1100px) {

    .build-shop-layout {

        grid-template-columns:
            minmax(0, 1fr) 280px;

        gap: 25px;

        padding-left: 3%;

        padding-right: 3%;

    }

    .build-category {

        padding: 25px;

    }

    .build-product-grid {

        gap: 15px;

    }

    .build-product-content {

        padding: 15px;

    }

    .build-summary-inner {

        padding: 20px;

    }

}


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

@media (max-width: 800px) {

    .build-hero {

        padding: 75px 7%;

    }

    .build-hero h1 {

        font-size: clamp(38px, 10vw, 52px);

    }

    .build-hero-subtitle {

        font-size: 16px;

    }

    .build-introduction {

        padding: 75px 7%;

    }

    .build-shop-layout {

        display: flex;

        flex-direction: column;

        gap: 35px;

        padding: 0 5% 75px;

    }

    .build-collections {

        width: 100%;

    }

    .build-category {

        padding: 25px;

        margin-bottom: 30px;

    }

    .build-summary {

        position: static;

        width: 100%;

    }

    .build-summary-inner {

        padding: 28px;

    }

    .build-closing {

        padding: 75px 7%;

    }

}


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

@media (max-width: 500px) {

    .build-minimum-notice {

        padding: 20px;

        gap: 15px;

    }

    .build-category {

        padding: 18px;

    }

    .build-product-grid {

        grid-template-columns: 1fr 1fr;

        gap: 12px;

    }

    .build-product-content {

        padding: 12px;

    }

    .build-product-content h3 {

        font-size: 17px;

    }

    .build-product-description {

        font-size: 11px;

        min-height: 75px;

    }

    .build-product-bottom {

        flex-wrap: wrap;

        gap: 12px;

    }

    .build-product-price {

        font-size: 20px;

    }

    .build-product-quantity {

        width: 100%;

        justify-content: space-between;

    }

    .build-summary-inner {

        padding: 22px;

    }

}


/* VERY SMALL SCREENS */

@media (max-width: 340px) {

    .build-product-grid {

        grid-template-columns: 1fr;

    }

    .build-product-description {

        min-height: 0;

    }

    .build-product-quantity {

        width: auto;

    }

}


/* ==================================
   BUILD YOUR BOX — COMPACT PRODUCT CARDS
================================== */

/* Three products per row on desktop */

.build-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

/* Slightly smaller collection containers */

.build-category {
    padding: 25px;
    margin-bottom: 30px;
}

.build-category-heading {
    margin-bottom: 25px;
}

/* Shorter, rectangular photographs */

.build-product-image {
    aspect-ratio: 4 / 3;
}

/* More compact product information */

.build-product-content {
    padding: 14px;
}

.build-product-content h3 {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 8px;
}

.build-product-description {
    font-size: 11px;
    line-height: 1.6;
    min-height: 52px;
    margin-bottom: 15px;
}

/* Smaller price and quantity controls */

.build-product-bottom {
    padding-top: 12px;
}

.build-product-price {
    font-size: 19px;
}

.build-product-quantity button {
    width: 29px;
    height: 32px;
    font-size: 17px;
}

.build-product-quantity-value {
    min-width: 23px;
    font-size: 12px;
}


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

@media (max-width: 1100px) {

    .build-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


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

@media (max-width: 500px) {

    .build-category {
        padding: 15px;
    }

    .build-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .build-product-content {
        padding: 10px;
    }

    .build-product-content h3 {
        font-size: 15px;
    }

    .build-product-description {
        font-size: 10px;
        min-height: 65px;
    }

    .build-product-price {
        font-size: 18px;
    }

    .build-product-image {
        aspect-ratio: 4 / 3;
    }

}


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

@media (max-width: 340px) {

    .build-product-grid {
        grid-template-columns: 1fr;
    }

    .build-product-description {
        min-height: 0;
    }

}


/* ==================================
   BUILD YOUR BOX — COMPACT PRODUCT CARDS
================================== */

/* Three products per row on desktop */

.build-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

/* Slightly smaller collection containers */

.build-category {
    padding: 25px;
    margin-bottom: 30px;
}

.build-category-heading {
    margin-bottom: 25px;
}

/* Shorter, rectangular photographs */

.build-product-image {
    aspect-ratio: 4 / 3;
}

/* More compact product information */

.build-product-content {
    padding: 14px;
}

.build-product-content h3 {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 8px;
}

.build-product-description {
    font-size: 11px;
    line-height: 1.6;
    min-height: 52px;
    margin-bottom: 15px;
}

/* Smaller price and quantity controls */

.build-product-bottom {
    padding-top: 12px;
}

.build-product-price {
    font-size: 19px;
}

.build-product-quantity button {
    width: 29px;
    height: 32px;
    font-size: 17px;
}

.build-product-quantity-value {
    min-width: 23px;
    font-size: 12px;
}


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

@media (max-width: 1100px) {

    .build-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


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

@media (max-width: 500px) {

    .build-category {
        padding: 15px;
    }

    .build-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .build-product-content {
        padding: 10px;
    }

    .build-product-content h3 {
        font-size: 15px;
    }

    .build-product-description {
        font-size: 10px;
        min-height: 65px;
    }

    .build-product-price {
        font-size: 18px;
    }

    .build-product-image {
        aspect-ratio: 4 / 3;
    }

}


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

@media (max-width: 340px) {

    .build-product-grid {
        grid-template-columns: 1fr;
    }

    .build-product-description {
        min-height: 0;
    }

}
/* Studio Noah: collection navigation and delivery notices */
.collection-crosslink { text-align:center; padding:75px 7%; background:var(--soft-cream); }
.collection-crosslink h2 { margin:12px auto 18px; max-width:800px; }
.collection-crosslink p:not(.eyebrow) { max-width:610px; margin:0 auto 24px; }
.collection-crosslink-button { display:inline-block; padding:13px 24px; border:1px solid var(--red); color:var(--red); text-decoration:none; font:12px Arial,sans-serif; letter-spacing:1px; }
.collection-crosslink-button:hover { background:var(--red); color:var(--light-cream); }
.shipping-perk { text-align:center; padding:22px 6%; margin:0; background:var(--light-cream); color:var(--brown); font-size:14px; }
.contact-cta { display:block; width:max-content; max-width:100%; margin:30px auto 0; }

/* Launch announcement and founder signature */
.shipping-announcement {background:var(--red);color:var(--light-cream);text-align:center;padding:10px 15px;font-size:12px;letter-spacing:.04em;}
.story-founder-signature {text-align:center;margin:28px auto 0;font-style:italic;color:var(--red);}
.box-contents span {display:block;margin:0 0 7px;}

/* Distinct, ordered Build Your Box closing panels */
.collection-crosslink { background: var(--light-cream); padding: 75px 7%; border-top: 1px solid rgba(100,60,45,.14); border-bottom: 1px solid rgba(100,60,45,.14); }
.build-closing { background: var(--red); color: var(--light-cream); padding: 85px 7%; }
.build-closing h2, .build-closing .eyebrow, .build-closing > p { color: var(--light-cream); }
.build-closing .build-enquiry-button { background: var(--light-cream); color: var(--red); border-color: var(--light-cream); }
.build-closing .build-enquiry-button:hover { background: transparent; color: var(--light-cream); }

/* Why Noah: compact editorial photo beside the story */
@media (min-width: 701px) {
  .story-noah-inner {
    max-width: 1050px;
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
    column-gap: 65px;
    align-items: start;
    text-align: left;
  }
  .story-noah-image {
    grid-column: 1;
    grid-row: 1 / span 4;
    margin: 0;
  }
  .story-noah-image img {
    width: 100%;
    max-height: 380px;
    object-fit: cover;
  }
  .story-noah-inner > :not(.story-noah-image) {
    grid-column: 2;
  }
}
@media (max-width: 700px) {
  .story-noah-image {
    max-width: 220px;
    margin: 0 0 35px;
  }
  .story-noah-inner {
    text-align: left;
  }
}

/* Refined closing panels: visually distinct, compact and separated from footer */
.build-closing { background: var(--soft-cream); color: var(--brown); padding: 52px 7% 60px; border-top: 1px solid rgba(100,60,45,.15); }
.build-closing h2, .build-closing .eyebrow { color: var(--red); }
.build-closing > p { color: var(--brown); }
.build-closing .build-enquiry-button { background: var(--red); color: var(--light-cream); border-color: var(--red); }
.build-closing .build-enquiry-button:hover { background: transparent; color: var(--red); }
.collection-crosslink { padding: 50px 7% 56px; }
.curated-page-contact { max-width: none; background: var(--soft-cream); padding: 48px 7% 55px; border-top: 1px solid rgba(100,60,45,.15); }
.curated-page-contact h2 { margin: 12px auto 18px; }
.curated-page-contact > p:not(.eyebrow) { margin-bottom: 22px; }
.story-closing, .story-founder-signature { text-align: center; width: 100%; margin-left: auto; margin-right: auto; }
.story-founder-signature { margin-top: 18px; }
@media (min-width: 701px) {
  .story-noah-inner > .story-divider, .story-noah-inner > .story-closing, .story-noah-inner > .story-founder-signature { grid-column: 1 / -1; }
}
