.hero { text-align: center; background: radial-gradient(circle at 50% 24%, rgba(110, 70, 41, .35), transparent 48%), linear-gradient(130deg, #171414 10%, #38261d 54%, #092d38 100%); }
.hero .eyebrow, .hero h1, .hero > p { text-align: center; }
.hero .text-link { display: inline-block; }
header nav { flex-wrap: wrap; justify-content: flex-end; }
.featured-rails { background: #171414; color: #fff4df; padding: 54px 6vw; }
.rail-section { margin: 0 0 54px; }
.rail-section h2 { font-size: clamp(29px, 4vw, 48px); margin: 6px 0 16px; line-height: 1.1; }
.rail-section .eyebrow { color: #efb64e; }
.rail-heading { display: flex; flex-direction: column; }
.rail-shell { display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px; gap: 10px; align-items: center; }
.rail-button { width: 46px; height: 54px; border: 1px solid #d4a354; background: #211b1a; color: #f7d28b; font-size: 30px; cursor: pointer; }
.rail-button:hover, .rail-action:hover { background: #9c522d; }
.art-rail { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 2px 16px; }
.rail-card { flex: 0 0 min(250px, 72vw); scroll-snap-align: start; border: 1px solid #b77a45; background: #2d211d; color: #fff4df; text-align: left; padding: 0; cursor: pointer; overflow: hidden; }
.rail-card[hidden] { display: none; }
.rail-card:hover { outline: 2px solid #efb64e; outline-offset: 2px; }
.rail-card img { width: 100%; height: 220px; display: block; object-fit: contain; background: #080808; }
.rail-card-copy { display: block; padding: 13px; }
.rail-card h3 { font-size: 21px; margin: 0 0 7px; color: #f4cd82; }
.rail-card p { margin: 0; color: #e5c9a0; font: 12px Arial, sans-serif; }
.art-controls { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 20px; }
.art-filters { display: flex; gap: 9px; flex-wrap: wrap; }
.art-filter, .rail-action { border: 1px solid #d4a354; background: transparent; color: #ffe09a; padding: 12px 15px; font: 700 12px Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.art-filter.active { background: #9c522d; color: #fff; }
.rail-action { align-self: flex-end; background: #164551; color: #fff4df; white-space: nowrap; }
.rail-action:disabled { opacity: .45; cursor: not-allowed; }
.custom-applications { color: #fff0ce; font: 600 15px/1.5 Arial, sans-serif; max-width: 760px; }
.empty-card { flex: 0 0 min(320px, 80vw); min-height: 125px; padding: 22px; border: 1px solid #74533d; background: #211b1a; }
.video-card { flex: 0 0 min(320px, 80vw); border: 1px solid #74533d; background: #211b1a; padding: 18px; }
.video-card h3 { margin: 0 0 14px; color: #f4cd82; }
.video-card .secondary { color: #ffe09a; }
.gates-panel, .events-panel, .journal-panel, .consult-panel { padding: 52px 6vw; background: #eee2d0; color: #241915; }
.journal-panel { background: #dcd0bd; }
.gates-panel h2, .events-panel h2, .journal-panel h2, .consult-panel h2 { font-size: clamp(30px, 4vw, 48px); margin: 5px 0 13px; line-height: 1.1; }
.gates-panel .rail-section { margin-top: 32px; }
.gates-panel .rail-section .eyebrow { color: #76462b; }
.gates-panel .rail-section h2 { font-size: clamp(27px, 3vw, 40px); }
.gates-panel .empty-card { color: #fff4df; }
.event-list { padding: 0; list-style: none; }
.event-list li { border-left: 3px solid #9c522d; padding: 10px 14px; margin: 10px 0; background: #f6eedf; }
.consult-steps { max-width: 720px; line-height: 1.7; }
.consult-steps li { padding-left: 5px; margin-bottom: 5px; }
.commission-form { display: grid; gap: 12px; max-width: 600px; margin-top: 20px; }
.commission-form label { display: grid; gap: 5px; }
.commission-form input, .commission-form textarea { width: 100%; padding: 10px; box-sizing: border-box; font: inherit; }
.checkbox-option, .commission-form .checkbox-option { display: flex; align-items: center; gap: 10px; margin: 12px 0; }
.checkbox-option[hidden] { display: none; }
.checkbox-option input, .commission-form .checkbox-option input { width: auto; }
.commission-form .primary { max-width: 400px; }
.piece-details { display: grid; grid-template-columns: minmax(260px, 1fr) 1fr; gap: 26px; padding: 26px; }
.piece-details img { width: 100%; max-height: 480px; object-fit: contain; background: #211b1a; }
.piece-details h2 { font-size: clamp(28px, 4vw, 50px); line-height: 1.05; margin: 7px 0 18px; }
.piece-details .sizes { padding: 12px 0; }
.piece-details #piece-preview, .piece-details #piece-inquiry { max-width: 330px; }
.inquiry-body { padding: 24px; }
.inquiry-body label { display: grid; gap: 5px; margin: 13px 0; }
.inquiry-body input, .inquiry-body textarea { padding: 9px; font: inherit; }
.stage #body-overlay { display: none; position: absolute; height: auto; cursor: grab; touch-action: none; }
@media (max-width: 700px) {
  .art-controls { flex-direction: column; }
  .rail-action { align-self: flex-start; }
  .rail-shell { grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 4px; }
  .rail-button { width: 36px; height: 46px; font-size: 24px; }
  .piece-details { grid-template-columns: 1fr; }
}
