body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #333;
    margin: 0;
    padding: 30px;
    background-color: #fff;
}

header h1 {
    font-size: 1.1rem;
    font-weight: 400;
    letter-spacing: 0.15rem;
    text-transform: uppercase;
    margin-bottom: 40px;
}



nav ul {
    list-style: none;
    padding: 0;
    margin-bottom: 10px;
}

nav ul li {
    display: inline;
    margin-right: 25px;
}

nav ul li a {
    text-decoration: none;
    color: #999;
    font-size: 0.85rem;
    text-transform: uppercase;
    transition: color 0.3s ease;
}

nav ul li a:hover, nav ul li a.active {
    color: #000;
}

/* Styling for the two-row navigation */
nav ul.nav-row {
    list-style: none;
    padding: 0;
    margin-bottom: 15px; /* Subtle space between the two rows */
}

/* Adds the larger 80px gap only after the final row of navigation */
nav ul.nav-row:last-of-type {
    margin-bottom: 40px;
}

nav ul.nav-row li {
    display: inline-block;
    margin-right: 25px;
}

/* Refined Navigation Hover - Stops the ghosting/text-shift */
nav ul.nav-row li a {
    text-decoration: none;
    color: #999;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.05rem;
    transition: color 0.2s ease-in-out;
    padding-bottom: 3px;
    border-bottom: 1px solid transparent; /* Prevents jumping when the border appears */
}

/* Universal fix for all navigation links */
nav ul.nav-row li a {
    display: inline-block;
    text-decoration: none;
    color: #999;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.05rem;
    padding-bottom: 3px;
    border-bottom: 2px solid transparent; /* Keeps the space ready for the line */
    font-weight: 400 !important;           /* Forces normal weight on all links */
    transition: color 0.2s, text-shadow 0.2s;
}

/* Identical styling for Hover and Active to prevent shifting */
nav ul.nav-row li a:hover, 
nav ul.nav-row li a.active {
    color: #000;
    font-weight: 400 !important;           /* Ensures weight NEVER changes */
    
    /* Simulate boldness without changing character width */
    text-shadow: 0.5px 0 0 currentColor; 
    
    /* Solid underline for the active page */
    border-bottom: 2px solid #000; 
}
/* Restored 3-Column Grid with Spanning Capabilities */
.gallery-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Enforced 3 columns */
    gap: 20px;
    grid-auto-flow: dense; /* Fills in gaps automatically */
}

/* Portrait Placeholder: Takes up 1 Column */
.artwork.portrait {
    grid-column: span 1;
}

/* Landscape Placeholder: Takes up 2 Columns */
.artwork.landscape {
    grid-column: span 2;
}

.artwork img {
    height: 400px;      /* Uniform height for all series */
    width: 100%;        /* Fills the column width */
    object-fit: contain; /* Keeps the full image visible without cropping */
    display: block;
    background-color: transparent; /* Ensures no grey background appears */
}

/* Apply the same to landscape placeholders */
.artwork.landscape img {
    height: 400px;
    width: 100%;
    object-fit: contain;
}

.caption {
    font-size: 0.75rem;
    margin-top: 15px;
    color: #666;
    font-style: italic;
    text-align: left;
}

/* Forces the artwork to span all 3 columns of the grid */
.gallery-container .artwork.full-width {
    grid-column: 1 / -1 !important; /* Spans from the first to the last column line */
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Ensures the image itself fills that 3-column space */
.gallery-container .artwork.full-width img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important; /* Removes height caps for the full view */
    display: block;
    object-fit: contain;
}

/*< width: 100%;           /* Allows it to be responsive... */
/*    max-width: 500px;      /* ...but never larger than 500px */
 /*   height: auto;     */

 /*   display: block;   */

 /*   margin: 40px auto;     /* Centers the image with vertical spacing */
 /*   object-fit: contain;   */


}

.artwork.full-width .caption {
    text-align: center;
    font-size: 0.9rem;   /* Slightly larger caption for the feature */
    margin-top: 20px;

}

  

/* THE DEFINITIVE FIX: Force the span from the left edge */
.text-col-3 {
    grid-column: 1 / span 3; /* Starts at col 1, spans 3 columns */
    width: 100%;
    display: block;
    margin: 60px 0;
    clear: both; /* Ensures no floating elements interfere */
}

.text-col-2 {
    grid-column: span 2;
}

.text-col-1 {
    grid-column: span 1;
}

/* THE DEFINITIVE FIX: Force the span from the left edge */
.text-col-3 {
    grid-column: 1 / span 3; /* Starts at col 1, spans 3 columns */
    width: 100%;
    display: block;
    margin: 60px 0;
    clear: both; /* Ensures no floating elements interfere */
}

.text-col-2 {
    grid-column: span 2;
}

.text-col-1 {
    grid-column: span 1;
}

/* Forces three columns and removes vertical row gaps */
.gallery-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr) !important; /* Forces exactly 3 columns */
    gap: 30px; /* Slightly wider gap for larger images */
    align-items: end; /* Aligns varied heights to the bottom of the row */
    margin-bottom: 80px;
}

.gallery-container .artwork {
    width: 100%;
    text-align: center; /* Keeps images like 'Nasheed' centered in their column */
}

.gallery-container .artwork img {
    max-width: 100%;    /* Prevents the image from spilling out of the column */
    max-height: 450px;  /* Keeps rows compact while allowing for larger detail */
    width: auto;        /* Preserves the natural aspect ratio */
    height: auto;       /* Preserves the natural aspect ratio */
    display: inline-block;
    object-fit: contain;
}

/* Text formatting for the grid blocks */
.grid-text-block {
    line-height: 1.8;
    color: #333;
}

.grid-text-block h2 {
    font-size: 1.1rem;
    font-weight: 400;
    letter-spacing: 0.15rem;
    text-transform: uppercase;
    margin-bottom: 25px;
}

/* Image wrapping and floating styles */
.about-content {
    max-width: 950px;
    margin: 0 auto;
    padding-bottom: 100px;
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

.float-left {
    float: left;
    margin: 10px 40px 30px 0;
    width: 45%; /* Adjust as needed */
    max-height: 500px;
    object-fit: contain;
}

.float-right {
    float: right;
    margin: 10px 0 30px 40px;
    width: 45%; /* Adjust as needed */
    max-height: 500px;
    object-fit: contain;
}

.about-section {
    margin-bottom: 60px;
    line-height: 1.8;
}

.about-section h2, .about-section h3 {
    text-transform: uppercase;
    letter-spacing: 0.15rem;
    font-weight: 400;
    margin-bottom: 25px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}
/* Styling ONLY for the About page images */
.about-content .float-left {
    float: left;
    margin: 5px 25px 15px 0;
    width: 200px; /* Force a much smaller, fixed width */
    height: auto;
    object-fit: contain;
}

.about-content .float-right {
    float: right;
    margin: 5px 0 15px 25px;
    width: 200px; /* Force a much smaller, fixed width */
    height: auto;
    object-fit: contain;
}

/* Ensure the text wraps cleanly around these smaller images */
.about-section {
    margin-bottom: 50px;
    line-height: 1.8;
    text-align: justify; /* Optional: creates a clean editorial look */
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}



/* Forces five columns and removes vertical row gaps */
.gallery-5-col {
    display: grid;
    grid-template-columns: repeat(5, 1fr) !important; /* Forces 5 columns */
    gap: 15px; /* Tightens the space between images */
    align-items: end; /* Aligns different heights to the bottom of the row */
    margin-bottom: 80px;
}

.gallery-5-col .artwork {
    width: 100%;
    text-align: center; /* Centers the image if it's narrower than the column */
}

.gallery-5-col .artwork img {
    max-width: 100%;    /* Prevents the image from filling the whole screen */
    max-height: 220px;  /* Keeps rows shallow to prevent vertical gaps */
    width: auto;        /* Maintains the image's natural aspect ratio */
    height: auto;       /* Maintains the image's natural aspect ratio */
    display: inline-block;
    object-fit: contain;
}
/* Styling for the text block under the 5-column grid */
.zara-text-block {
    max-width: 850px;
    margin: 60px auto; /* Centers the text and adds space above it */
    text-align: center; /* Keeps the series description balanced */
    line-height: 1.8;
    padding: 0 20px;
}

.zara-text-block h2 {
    text-transform: uppercase;
    letter-spacing: 0.15rem;
    font-weight: 400;
    margin-bottom: 25px;
}

.zara-text-block p {
    font-size: 1rem;
    color: #444;
}

/* Styling for a full-window-width breakout image */
.hero-breakout {
    width: 100vw;           /* Forces width to 100% of the viewport */
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;    /* Perfectly centers the 100vw box */
    margin-right: -50vw;
    margin-top: 40px;      /* Space above the image */
    margin-bottom: 60px;   /* Space below the image */
    overflow: hidden;
}

.hero-breakout img {
    width: 100% !important;
    height: auto !important;
    display: block;
    object-fit: contain;   /* Ensures the entire painting is visible */
}



footer {
    margin-top: 100px;
    font-size: 0.7rem;
    color: #ccc;
}

/* This makes the link for the current page bold and black */
nav ul li a.active {
    color: #000;
    font-weight: bold; 
    border-bottom: 1px solid #000; /* Optional: adds a subtle line underneath */
}