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

.site-header{
  background:#fff;
  border-bottom:1px solid #eee;
}

.header-bar{
  width:100%;
  border-bottom:1px solid #eee;
}

.header-inner{
  max-width:900px;
  margin:0 auto;
  padding:10px 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

/* LOGO */
.site-logo img{
  display:block;
  height:auto;
  max-width:424px;
}

/* NAV */
.main-nav{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-left:auto;
}

.main-nav a,
.main-nav button{
  font-family: Segoe, "Segoe UI", Verdana, sans-serif;
  font-size:14px;
  color:#666;
  text-decoration:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:4px 2px;
}

.main-nav a:hover,
.main-nav button:hover{
  color:#111;
}

/* DROPDOWN */
.dropdown{
  position:relative;
}

.dropdown-content{
  display:none;
  position:absolute;
  top:100%;
  right:0;
  min-width:180px;
  background:#fff;
  border:1px solid #ddd;
  box-shadow:0 8px 16px rgba(0,0,0,0.18);
  z-index:9999;
}

.dropdown-content a{
  display:block;
  padding:10px 14px;
  color:#333;
  white-space:nowrap;
  text-decoration:none;
}

.dropdown-content a:hover{
  background:#f2f2f2;
}

/* OPEN */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{
  display:block;
}

/* MOBILE HEADER */
@media (max-width:768px){
  .header-inner{
    flex-direction:column;
    align-items:center;
  }

  .main-nav{
    justify-content:center;
    gap:12px;
    margin-left:0;
  }

  .dropdown-content{
    right:auto;
    left:0;
  }
}

/* ================= ART_HUB: Cross-links ================= */

.cross-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
  max-width:900px;
  margin:20px auto 0;
}

@media (max-width:760px){
  .cross-grid{
    grid-template-columns:1fr;
  }
}

.cross-card{
  display:block;
  border:1px solid #e6e6e6;
  padding:18px;
  text-decoration:none;
  color:#0f172a;
  background:#fff;
  transition:transform .25s ease, box-shadow .25s ease;
}

.cross-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}

.cross-type{
  display:block;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6b6b6b;
  margin-bottom:8px;
}

.cross-title{
  display:block;
  font-size:16px;
  line-height:1.4;
}

/* ================= HERO (HOME) ================= */

.home-container h1{
  font-family: "Montserrat", "ITC Avant Garde Gothic", "Avantgarde BK BT", Arial, Helvetica, sans-serif;
  font-size:32px;
  margin:16px 0 6px 0;
  color:rgb(150,150,150);
  font-weight:300;
  text-align:center;
}

.hero-line{
  font-family: "Montserrat", "ITC Avant Garde Gothic", "Avantgarde BK BT", Arial, Helvetica, sans-serif;
  font-size:18px;
  margin:6px 0 22px 0;
  color:rgb(150,150,150);
  letter-spacing:0.06em;
  font-weight:300;
  text-transform:uppercase;
  text-align:center;
}

.hero-statement{
  font-size:16px;
  line-height:1.7;
  color:#666;
  max-width:760px;
  margin:0 auto 24px;
  text-align:center;
}

/* HERO – Tablet */
@media (max-width:1024px){
  .home-container h1{ font-size:28px; }
  .hero-line{ font-size:17px; }
  .hero-statement{ font-size:15.5px; }
}

/* HERO – Mobile */
@media (max-width:768px){
  .home-container h1{
    font-size:24px;
    margin-top:12px;
  }
  .hero-line{
    font-size:16px;
    letter-spacing:0.04em;
  }
  .hero-statement{
    font-size:15px;
    padding:0 10px;
  }
}

/* ================= TYPOGRAPHY – HEADINGS ================= */

h1{
  text-align:center;
  margin:40px auto 28px;
  font-weight:400;
  letter-spacing:0.04em;
  color:rgb(120,120,120);
}

h2{
  max-width:900px;
  margin:56px auto 20px;
  text-align:left;
  font-weight:400;
  letter-spacing:0.03em;
  color:rgb(120,120,120);
}

h3{
  max-width:900px;
  margin:36px auto 12px;
  text-align:left;
  font-weight:400;
  letter-spacing:0.02em;
  color:rgb(140,140,140);
}

/* Headings – Mobile */
@media (max-width:768px){
  h1{ margin:32px auto 22px; letter-spacing:0.03em; }
  h2{ margin:40px 16px 16px; }
  h3{ margin:28px 16px 10px; }
}

/* ================= LEDE ================= */

.lede{
  max-width:760px;
  margin:40px auto 60px;
  font-family: "Montserrat", "ITC Avant Garde Gothic", "Avantgarde BK BT", Arial, Helvetica, sans-serif;
  font-size:20px;
  line-height:1.6;
  text-align:center;
  font-style:italic;
  color:rgb(150,150,150);
}

/* Lede – Tablet */
@media (max-width:1024px){
  .lede{ font-size:18px; margin:32px auto 48px; }
}

/* Lede – Mobile */
@media (max-width:768px){
  .lede{
    font-size:16px;
    margin:28px 16px 40px;
    padding:0 10px;
  }
}

/* ================= PAGE LAYOUT (Nodes) ================= */

.page-container{
  max-width:900px;
  margin:0 auto;
  padding:24px 14px 40px;
}

.section-text{
  max-width:760px;
  margin:0 auto;
}

.section-text p{
  font-size:16px;
  line-height:1.8;
  color:#666;
  margin:0 0 18px;
}

/* ================= ART GRID (Single Column) ================= */

.art-grid{
  max-width:900px;
  margin:26px auto 0;
  display:grid;
  grid-template-columns:1fr;
  gap:36px;
  justify-items:center;
}

.art-grid figure{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.art-grid img{
  width:100%;
  height:auto;
  max-width:700px;
  display:block;
}

.art-grid figcaption{
  max-width:700px;
  width:100%;
  text-align:center;
  margin-top:4px;
  font-size:13px;
  line-height:1.5;
  color:rgb(140,140,140);
}

.art-grid figcaption em{
  font-style:italic;
  color:rgb(120,120,120);
}

.art-grid figcaption span{
  display:inline-block;
  margin-top:6px;
}

/* ================= INLINE FIGURES (Text ↔ Image Rhythm) ================= */

.section-text .inline-figure{
  margin:34px auto 42px;
  text-align:center;
}

.section-text .inline-figure img{
  max-width:700px;
  width:100%;
  height:auto;
  display:block;
  margin:0 auto;
}

.section-text .inline-figure figcaption{
  margin-top:4px;
  font-size:13px;
  line-height:1.5;
  color:rgb(140,140,140);
  letter-spacing:0.02em;
}

.section-text .inline-figure figcaption span{
  display:inline-block;
  margin-top:4px;
  font-size:12.5px;
  color:rgb(130,130,130);
}

/* ================= ART_HUB — NODE LAYOUT ================= */

.art-hub-node{
  max-width:900px;
  margin:0 auto;
  padding:24px 14px 40px;
}

.node-intro{
  max-width:760px;
  margin:20px auto 36px;
  text-align:center;
}

.node-title{ margin:0 0 10px 0; }

.node-type,
.node-context{
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgb(150,150,150);
  margin:4px 0;
}

.node-core{ max-width:760px; margin:0 auto; }

.node-text p{
  font-size:16px;
  line-height:1.8;
  color:#666;
  margin:0 0 18px 0;
}

.node-quote{
  font-style:italic;
  text-align:center;
  color:rgb(140,140,140);
  margin:28px auto;
  max-width:620px;
}

.node-media{
  margin:40px auto;
  text-align:center;
}

.node-media img{
  max-width:700px;
  width:100%;
  height:auto;
  display:block;
  margin:0 auto;
}

.node-metadata{
  max-width:760px;
  margin:36px auto 24px;
  font-size:13px;
  color:rgb(140,140,140);
}

.node-metadata ul{
  list-style:none;
  padding:0;
  margin:0;
}

.node-metadata li{ margin-bottom:6px; }