/* ============================================================
   Gondola Assets — Gallery / Exhibition
   Museum-gallery aesthetic with framed exhibits and placards
   ============================================================ */

:root {
  --wall: #F7F6F2;
  --wall-warm: #EDEAE3;
  --frame: #1E1D1B;
  --ink: #1A1917;
  --ink-soft: #3D3A34;
  --ink-muted: #7A7568;
  --exhibit-red: #C2442B;
  --exhibit-red-dark: #9E3522;
  --brass: #B8985A;
  --brass-dark: #9A7E48;
  --slate: #5A5D63;
  --navy: #1D2A3A;
  --white: #FCFCFA;
  --border: #D8D5CC;
  --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Georgia', 'Times New Roman', serif;
  --max-w: 1080px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);font-size:0.95rem;line-height:1.65;
  color:var(--ink);background:var(--wall);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--exhibit-red);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--exhibit-red-dark)}

h1,h2,h3,h4{font-weight:700;color:var(--ink);line-height:1.15}
h1{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:-0.01em}
h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.8vw,2rem)}
h3{font-size:1.15rem}
h4{font-size:0.95rem}

/* --- Gallery Nav --- */
.gallery-nav{
  position:sticky;top:0;z-index:100;background:var(--white);
  border-bottom:1px solid var(--border);
}
.gallery-nav-inner{
  max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;height:56px;
  display:flex;align-items:center;justify-content:space-between;
}
.gallery-logo{display:flex;align-items:center;gap:0.5rem;font-weight:700;font-size:1rem;color:var(--ink)}
.gallery-logo-mark{
  width:30px;height:30px;background:var(--exhibit-red);color:var(--white);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.75rem;
}
.gallery-nav-links{display:flex;gap:0;list-style:none;padding:0}
.gallery-nav-links a{
  display:block;padding:0.35rem 0.9rem;font-size:0.85rem;font-weight:500;color:var(--ink-muted);transition:all 0.2s;
}
.gallery-nav-links a:hover,.gallery-nav-links a.active{color:var(--exhibit-red)}
.gallery-nav-cta a{background:var(--frame);color:var(--white)!important;padding:0.4rem 1rem}
.gallery-nav-cta a:hover{background:var(--exhibit-red);color:var(--white)!important}
.gallery-menu-btn{display:none;background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--ink);padding:0.3rem}

/* --- Main --- */
.gallery-main{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}

/* --- Featured Exhibition (Hero) --- */
.featured-exhibit{padding:5rem 0 3rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.fe-badge{display:inline-block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--exhibit-red);margin-bottom:0.75rem;padding:0.25rem 0.7rem;border:1px solid var(--exhibit-red)}
.fe-text h1{margin-bottom:1rem}
.fe-text .fe-desc{font-size:1.05rem;color:var(--ink-soft);line-height:1.65;margin-bottom:2rem}
.fe-frame{background:var(--white);padding:3rem 2.5rem;text-align:center;border:1px solid var(--border);position:relative}
.fe-frame::after{content:'';position:absolute;inset:-6px;border:1px solid var(--border);pointer-events:none}
.fe-frame-icon{font-size:3rem;margin-bottom:0.75rem}
.fe-frame h3{font-family:var(--font-display);font-size:1.3rem;margin-bottom:0.25rem}
.fe-frame p{color:var(--ink-muted);font-size:0.9rem}

/* --- Gallery Stats Row --- */
.stats-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin:2rem 0}
.stat-pedestal{background:var(--white);padding:1.5rem 1rem;text-align:center}
.stat-num{font-family:var(--font-display);font-size:2.2rem;font-weight:800;color:var(--exhibit-red);line-height:1;margin-bottom:0.2rem}
.stat-cap{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-muted)}

/* --- Exhibition Hall (section) --- */
.exhibition-hall{padding:4rem 0}
.exhibition-hall+.exhibition-hall{border-top:1px solid var(--border)}
.hall-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:2.5rem}
.hall-num{font-family:var(--font-display);font-size:1.2rem;color:var(--brass);font-weight:700}
.hall-header h2{margin-bottom:0}

/* --- Exhibit Grid --- */
.exhibit-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.exhibit-card{background:var(--white);border:1px solid var(--border);transition:all 0.25s}
.exhibit-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.08);transform:translateY(-2px)}
.exhibit-card .ex-img{height:8px}
.exhibit-card .ex-img.red{background:var(--exhibit-red)}
.exhibit-card .ex-img.brass{background:var(--brass)}
.exhibit-card .ex-img.slate{background:var(--slate)}
.exhibit-card .ex-img.navy{background:var(--navy)}
.exhibit-card .ex-body{padding:1.75rem}
.exhibit-card .ex-placard{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--brass);margin-bottom:0.4rem}
.exhibit-card h4{font-size:1.05rem;margin-bottom:0.35rem}
.exhibit-card p{font-size:0.88rem;color:var(--ink-soft);line-height:1.55}

/* --- Wall Label Grid --- */
.wall-label-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.wall-label{background:var(--white);padding:2rem;border-left:5px solid var(--exhibit-red);transition:all 0.2s}
.wall-label:hover{border-left-color:var(--brass);box-shadow:0 4px 16px rgba(0,0,0,0.06)}
.wall-label h4{font-size:1rem;margin-bottom:0.35rem}
.wall-label p{font-size:0.88rem;color:var(--ink-soft);line-height:1.55}

/* --- Curator Statement --- */
.curator-statement{
  background:var(--wall-warm);padding:3rem;margin:2rem 0;text-align:center;position:relative;
}
.curator-statement blockquote{font-size:1.15rem;line-height:1.6;color:var(--ink-soft);font-style:italic;max-width:650px;margin:0 auto}
.curator-statement .curator-name{display:block;margin-top:1rem;font-weight:700;font-size:0.9rem;font-style:normal;color:var(--ink)}
.curator-statement .curator-role{font-size:0.8rem;color:var(--ink-muted)}

/* --- Process Row --- */
.process-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.process-step{background:var(--white);padding:1.75rem 1.25rem;text-align:center;border:1px solid var(--border);position:relative}
.process-step .ps-num{font-family:var(--font-display);font-size:2.5rem;font-weight:800;color:var(--exhibit-red);line-height:1;margin-bottom:0.5rem}
.process-step h4{font-size:0.92rem;margin-bottom:0.3rem}
.process-step p{font-size:0.82rem;color:var(--ink-soft);line-height:1.5}

/* --- Contact Gallery --- */
.contact-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.info-placard{background:var(--white);border:1px solid var(--border);padding:1.5rem;margin-bottom:1rem}
.info-placard h4{font-size:0.73rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--brass);margin-bottom:0.25rem}
.info-placard .ip-val{font-weight:700;font-size:0.98rem}
.info-placard .ip-note{font-size:0.82rem;color:var(--ink-muted);margin-top:0.15rem}
.contact-form-frame{background:var(--white);border:1px solid var(--border);padding:2rem}
.contact-form-frame h3{font-family:var(--font-display);margin-bottom:1.25rem}
.form-field{margin-bottom:1rem}
.form-field label{display:block;font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-muted);margin-bottom:0.25rem}
.form-field input,.form-field textarea,.form-field select{
  width:100%;padding:0.65rem 0.75rem;font-size:0.9rem;border:1px solid var(--border);
  font-family:var(--font-body);background:var(--wall);transition:border-color 0.2s;
}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--exhibit-red)}
.form-field textarea{resize:vertical;min-height:110px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

.btn{
  display:inline-flex;align-items:center;gap:0.4rem;padding:0.7rem 1.7rem;
  font-size:0.88rem;font-weight:700;cursor:pointer;font-family:var(--font-body);
  border:1px solid var(--frame);transition:all 0.2s;text-transform:uppercase;letter-spacing:0.04em;
}
.btn-dark{background:var(--frame);color:var(--white)}
.btn-dark:hover{background:var(--exhibit-red);border-color:var(--exhibit-red);color:var(--white)}
.btn-outline{background:transparent;color:var(--frame)}
.btn-outline:hover{background:var(--frame);color:var(--white)}

/* --- Page Opening --- */
.page-opening{padding:4rem 0 1.5rem;text-align:center}
.page-opening .po-tag{display:inline-block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--brass);margin-bottom:0.5rem;border:1px solid var(--brass);padding:0.2rem 0.7rem}
.page-opening h1{margin-bottom:0.5rem}
.page-opening .po-desc{color:var(--ink-soft);max-width:550px;margin:0 auto;font-size:1rem;line-height:1.6}

/* --- Legal --- */
.legal-prose{max-width:720px}
.legal-prose section{margin-bottom:2.5rem}
.legal-prose h2{font-family:var(--font-display);font-size:1.15rem;margin-bottom:0.6rem;padding-bottom:0.3rem;border-bottom:1px solid var(--border)}
.legal-prose h3{font-size:0.95rem;margin:1.2rem 0 0.5rem;font-family:var(--font-display)}
.legal-prose p{line-height:1.8;color:var(--ink-soft);margin-bottom:0.9rem}
.legal-prose ul,.legal-prose ol{margin-bottom:1rem;color:var(--ink-soft);padding-left:1.5rem}
.legal-prose ul li,.legal-prose ol li{margin-bottom:0.4rem;line-height:1.6}
.legal-updated{padding:1rem 1.25rem;background:var(--white);border:1px solid var(--border);border-left:4px solid var(--exhibit-red);margin-bottom:2rem;font-size:0.85rem}
.legal-toc{background:var(--white);border:1px solid var(--border);padding:1.25rem;margin-bottom:2rem}
.legal-toc h3{font-size:0.82rem;text-transform:uppercase;letter-spacing:0.05em;margin-top:0;margin-bottom:0.6rem;color:var(--brass)}
.legal-toc ol{padding-left:1.5rem;margin-bottom:0}
.legal-toc ol li{margin-bottom:0.3rem;font-size:0.9rem}

/* --- Footer --- */
.gallery-footer{background:var(--frame);color:var(--wall);margin-top:5rem}
.gallery-footer-grid{max-width:var(--max-w);margin:0 auto;padding:3rem 1.5rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem}
.gallery-footer-brand h4{color:var(--white);font-family:var(--font-display);font-size:0.95rem;margin-bottom:0.5rem}
.gallery-footer-brand p{color:#A09888;font-size:0.85rem;line-height:1.6}
.gallery-footer-col h4{color:var(--brass);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.75rem}
.gallery-footer-col ul{list-style:none;padding:0}
.gallery-footer-col ul li{margin-bottom:0.35rem}
.gallery-footer-col ul a{color:#B8AFA0;font-size:0.85rem;transition:color 0.2s}
.gallery-footer-col ul a:hover{color:var(--white)}
.gallery-footer-bar{max-width:var(--max-w);margin:0 auto;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,0.06);display:flex;justify-content:space-between;font-size:0.78rem;color:#8A8278}
.gallery-footer-bar a{color:#8A8278}
.gallery-footer-bar a:hover{color:var(--wall)}

/* --- Responsive --- */
@media (max-width: 860px){
  .gallery-nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:var(--white);flex-direction:column;padding:1rem;border-bottom:1px solid var(--border)}
  .gallery-nav-links.open{display:flex}
  .gallery-menu-btn{display:block}
  .gallery-nav-inner{position:relative}
  .featured-exhibit,.exhibit-grid,.wall-label-grid,.contact-gallery,.process-row{grid-template-columns:1fr}
  .stats-gallery{grid-template-columns:1fr 1fr}
  .gallery-footer-grid{grid-template-columns:1fr;gap:2rem}
  .form-row{grid-template-columns:1fr}
}
@media (max-width: 500px){
  .stats-gallery{grid-template-columns:1fr}
}
