/* ==========================================================================
   Bauhaus Constructivist — geometric, radical, purposeful.
   Chalk #F2EBDD · vermilion #D72F24 · black #161616 · ochre #E7B83F
   Large geometric headings, compact uppercase labels; circles, bars,
   diagonals and modular rectangles. Constructed, not decorated.
   ========================================================================== */

:root {
    --art-bg: #f2ebdd; --art-surface: #e5dcc8; --art-text: #161616; --art-heading: #161616; --art-muted: #6b645a;
    --art-link: #161616; --art-link-hover: #d72f24; --art-accent: #d72f24; --art-accent-2: #e7b83f; --art-price: #d72f24;
    --art-font: "Space Grotesk", "Helvetica Neue", Arial, sans-serif; --art-size: 16px;
    --art-heading-font: "Archivo", "Helvetica Neue", Arial, sans-serif; --art-heading-weight: 800; --art-heading-case: uppercase;
    --art-meta-font: "Archivo Narrow", "Arial Narrow", sans-serif;
    --art-header-bg: #f2ebdd; --art-header-text: #161616; --art-header-hover: #d72f24; --art-header-rule: #161616; --art-header-rule-w: 0px;
    --art-title-font: "Archivo", sans-serif; --art-title-size: 30px; --art-title-weight: 900; --art-title-case: uppercase; --art-title-tracking: -1px; --art-logo-h: 56px;
    --art-nav-font: "Archivo Narrow", sans-serif; --art-nav-size: 14px; --art-nav-weight: 700; --art-nav-case: uppercase; --art-nav-tracking: 1px;
    --art-footer-bg: #161616; --art-footer-text: #f2ebdd; --art-footer-link: #f2ebdd; --art-footer-hover: #e7b83f;
    --art-footer-rule: #d72f24; --art-footer-rule-w: 0px; --art-footer-font: "Archivo Narrow", sans-serif; --art-footer-size: 14px; --art-footer-case: uppercase;
    --art-gallery-gap: 32px;
    --art-max: 1440px;
}

h1, h2, h3 { letter-spacing: -.03em; line-height: .92; }

/* Header: a black bar with the name on a red block */
.art-header { background: var(--art-header-bg); border-bottom: 14px solid var(--art-text); }
.art-header__inner { padding-top: 0; padding-bottom: 0; align-items: stretch; }
.art-header__brand { display: flex; align-items: center; padding: 18px 22px; margin-left: calc(-1 * var(--art-gutter)); padding-left: var(--art-gutter); background: var(--art-accent); }
.art-brand a { color: #fff; }
.art-brand a:hover { color: var(--art-text); }
.art-nav { align-items: center; }
.art-menu .nav-link { position: relative; padding-left: 1.1rem !important; }
.art-menu .nav-link::before { content: ""; position: absolute; left: 0; top: 50%; width: .55rem; height: .55rem; margin-top: -.28rem; background: var(--art-text); }
.art-menu .nav-item:nth-child(3n+1) .nav-link::before { border-radius: 50%; background: var(--art-accent); }
.art-menu .nav-item:nth-child(3n+2) .nav-link::before { background: var(--art-accent-2); }
.art-menu .nav-link.active, .art-menu .current-menu-item > .nav-link { color: var(--art-accent); }
@media (max-width: 991.98px) { .art-header__brand { padding-top: 14px; padding-bottom: 14px; } .art-toggler { margin: 0 0 0 auto; } .art-header__inner { align-items: center; } }

/* Composition */
.bh-comp { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; min-height: 70vh; }
.bh-comp__statement { grid-column: 1 / span 4; position: relative; z-index: 2; padding-top: 2rem; }
.bh-label { display: inline-block; margin: 0 0 1rem; padding: .15rem .5rem; background: var(--art-text); color: var(--art-bg); font: 700 12px var(--art-meta-font); text-transform: uppercase; letter-spacing: .1em; }
.bh-comp__title { margin: 0 0 1.25rem; font-size: clamp(48px, 7vw, 112px); line-height: .85; }
.bh-comp__text { max-width: 34ch; font-size: 17px; }
.bh-arrow { display: inline-flex; align-items: center; gap: .6rem; font: 700 14px var(--art-meta-font); text-transform: uppercase; color: var(--art-text); text-decoration: none; }
.bh-arrow::after { content: ""; width: 48px; height: 4px; background: var(--art-accent); transition: width .3s; }
.bh-arrow:hover::after { width: 80px; }

.bh-comp__work { grid-column: 6 / span 7; position: relative; padding: 32px 0 0 32px; }
.bh-comp__figure { position: relative; z-index: 2; }
.bh-comp__figure img { aspect-ratio: auto !important; max-height: 72vh; object-fit: cover; }
.bh-comp__caption { position: relative; z-index: 2; margin: .8rem 0 0; font: 700 13px var(--art-meta-font); text-transform: uppercase; }
.bh-shape { position: absolute; z-index: 1; }
.bh-shape--circle { top: -40px; left: -90px; width: clamp(160px, 22vw, 320px); aspect-ratio: 1; border-radius: 50%; background: var(--art-accent); }
.bh-shape--bar { right: -8%; bottom: 18%; width: 46%; height: 26px; background: var(--art-text); transform: rotate(-12deg); }
@media (max-width: 991.98px) {
    .bh-comp { display: block; min-height: 0; }
    .bh-comp__work { margin-top: 2.5rem; padding: 20px 0 0 20px; }
    .bh-shape--circle { left: -30px; width: 180px; }
}

/* Geometric navigation rail */
.bh-rail { margin: clamp(48px, 8vw, 110px) 0 0; overflow-x: auto; }
.bh-rail ol { position: relative; display: flex; gap: 0; margin: 0; padding: 0 0 1rem; list-style: none; min-width: max-content; }
.bh-rail ol::before { content: ""; position: absolute; left: 0; right: 0; top: 17px; height: 4px; background: var(--art-text); }
.bh-rail__stop a { position: relative; display: flex; flex-direction: column; gap: .35rem; width: 130px; padding-right: 1rem; color: var(--art-text); text-decoration: none; }
.bh-marker { display: block; width: 38px; height: 38px; background: var(--art-text); transition: transform .3s ease; }
.bh-marker--circle { border-radius: 50%; background: var(--art-accent); }
.bh-marker--square { background: var(--art-accent-2); }
.bh-marker--triangle { background: var(--art-text); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.bh-marker--bar { height: 14px; margin: 12px 0; width: 54px; }
.bh-rail__stop a:hover .bh-marker { transform: rotate(45deg) scale(1.1); }
.bh-rail__num { font: 700 12px var(--art-meta-font); color: var(--art-accent); }
.bh-rail__title { font: 700 14px/1.15 var(--art-meta-font); text-transform: uppercase; }

/* Project panels */
.bh-heading { margin: 0 0 1.5rem; font-size: clamp(40px, 6vw, 96px); }
.bh-heading::after { content: ""; display: inline-block; width: .5em; height: .5em; margin-left: .2em; border-radius: 50%; background: var(--art-accent); }
.bh-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--art-gallery-gap); }
@media (max-width: 991.98px) { .bh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.bh-panel { position: relative; display: block; color: var(--art-text); text-decoration: none; }
.bh-panel__media { display: block; overflow: hidden; aspect-ratio: 1; background: var(--art-surface); }
.bh-panel__img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.bh-panel:hover .bh-panel__img { transform: scale(1.05); }
.bh-panel--circle .bh-panel__media { border-radius: 50%; }
.bh-panel--triangle .bh-panel__media { clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%); }
.bh-panel--bar .bh-panel__media { aspect-ratio: 2 / 1; margin-top: 25%; }
.bh-panel__num { position: absolute; top: .6rem; left: .6rem; padding: .1rem .4rem; background: var(--art-accent-2); font: 700 12px var(--art-meta-font); }
.bh-panel__title { display: block; margin-top: .7rem; font: 800 18px/1 var(--art-heading-font); text-transform: uppercase; letter-spacing: -.02em; }
.bh-panel__meta { display: block; margin-top: .3rem; font: 400 12px var(--art-meta-font); text-transform: uppercase; color: var(--art-muted); }
.bh-panel:hover .bh-panel__title { color: var(--art-accent); }

.art-home-section__head .edith-section-title { font-size: clamp(32px, 4vw, 60px); }
.edith-card__price { display: inline-block; padding: 0 .4rem; background: var(--art-accent); color: #fff; }
.bh-bulletin { border-top: 14px solid var(--art-text); padding-top: 1.5rem; }
.art-news-list__num { color: var(--art-accent); font-weight: 700; }
.art-news-list__title { font-family: var(--art-heading-font); font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; }

/* Pages */
.edith-page__title, .edith-post__title { font-size: clamp(44px, 7vw, 110px); }
.edith-page__title::before, .edith-post__title::before { content: ""; display: block; width: 64px; height: 64px; margin-bottom: 1rem; border-radius: 50%; background: var(--art-accent); }
.art-project-meta { font-weight: 700; color: var(--art-text); }
.art-project-meta__num { padding: .1rem .35rem; background: var(--art-accent-2); color: var(--art-text); }
.fran-artwork__caption { font-family: var(--art-meta-font); text-transform: uppercase; font-size: 12px; }
.edith-pager { border-top: 8px solid var(--art-text); text-transform: uppercase; font-weight: 700; }

.art-footer__name { font-family: var(--art-heading-font); font-size: clamp(32px, 4vw, 56px); text-transform: uppercase; letter-spacing: -.03em; }
.art-footer__label { color: var(--art-accent-2); opacity: 1; }
.art-footer { position: relative; overflow: hidden; }
.art-footer::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; background: var(--art-accent); opacity: .9; pointer-events: none; }
