/* ---- v2 additions: real imagery on top of the maison rhed design system ---- */
/* a little more breathing room at the screen edges (not too much) */
:root{ --mx: clamp(28px, 5.5vw, 96px); }
/* fix: blocks with both .section and .wrap lost their side margins
   (the .section shorthand padding zeroed out the horizontal padding) */
.wrap.section, .section.wrap{ padding-left:var(--mx); padding-right:var(--mx); }

/* header wordmark — plain "Rocco Ritchie" text, no logo lockup */
.brand .wm{ font-family:var(--serif); font-weight:600; font-size:21px; letter-spacing:-0.01em; color:var(--ink); text-transform:uppercase; }
.brand .wm b{ font-weight:600; color:var(--rhed); }

.frame{ position:relative; overflow:hidden; background:var(--paper-2); border:1px solid var(--line-soft); }
.frame .art{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s var(--ease), filter .6s var(--ease); }
.work:hover .frame .art{ transform:scale(1.04); }
/* no lingering focus ring after a mouse click (e.g. opening/closing the lightbox);
   keep a clean accent ring for keyboard users only */
.work:focus, a:focus{ outline:none; }
.work:focus-visible, a:focus-visible{ outline:2px solid var(--rhed); outline-offset:3px; }
.frame--portrait{ aspect-ratio:33.5/40; }
.frame--landscape{ aspect-ratio:4/3; }
.frame--square{ aspect-ratio:1/1; }
.frame--wide{ aspect-ratio:16/9; }
.frame--tall{ aspect-ratio:3/4; }
.frame--free{ aspect-ratio:4/5; background:var(--ink); }
.art--contain{ object-fit:contain !important; }

/* page header used across inner pages */
.page-head{ padding:clamp(56px,9vw,128px) var(--mx) clamp(28px,4vw,52px); }
.page-head .eyebrow{ margin-bottom:22px; }
.page-head .display{ max-width:16ch; }
.page-sub{ color:var(--stone); margin-top:22px; font-size:clamp(16px,1.4vw,20px); }

/* filter bar */
.filter-bar{ display:flex; flex-wrap:wrap; gap:12px; padding-bottom:8px; }

/* archive / series grid */
.archive-section{ padding-top:clamp(28px,3vw,40px); }
.archive-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,34px); }
@media (max-width:1100px){ .archive-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .archive-grid{ grid-template-columns:repeat(2,1fr); } }

/* series statement */
.series-statement{ max-width:760px; margin-top:8px; }
.series-statement p{ font-size:clamp(20px,2.2vw,28px); line-height:1.35; letter-spacing:-0.02em; }
.series-statement .attr{ color:var(--stone); font-size:12px; margin-top:18px; }

/* exhibitions list (feature cards) */
.exh-feature-list{ display:flex; flex-direction:column; gap:clamp(48px,7vw,110px); }
.exh-feature{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(28px,4vw,64px); align-items:center; }
.exh-feature:nth-child(even){ grid-template-columns:1fr 1.3fr; }
.exh-feature:nth-child(even) .frame{ order:2; }
.exh-feature-cap h2{ font-size:clamp(34px,5vw,76px); font-weight:500; letter-spacing:-0.04em; line-height:0.95; margin-bottom:18px; }
.exh-cover-soon{ display:flex; align-items:center; justify-content:center; background:var(--paper-2); color:var(--stone-2); }
.feature-soon{ color:var(--stone-2); padding:clamp(28px,4vw,56px) 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.exh-feature-cap .mono{ color:var(--stone); display:block; margin-bottom:22px; }
@media (max-width:860px){ .exh-feature,.exh-feature:nth-child(even){ grid-template-columns:1fr; } .exh-feature:nth-child(even) .frame{ order:0; } }

/* exhibition detail */
.exh-prose{ max-width:720px; margin-top:8px; }
.exh-prose p{ font-size:clamp(18px,1.7vw,22px); line-height:1.5; margin:0 0 18px; }
.exh-gallery{ columns:3; column-gap:clamp(16px,2vw,30px); }
.exh-gallery .work{ break-inside:avoid; margin-bottom:clamp(16px,2vw,30px); }
.exh-gallery .frame--free{ aspect-ratio:auto; }
.exh-gallery .art--contain{ position:static; height:auto; }
/* captioned masonry (named works, e.g. The Tourist): light frame, room for caption */
.exh-gallery--cap .frame--free{ background:var(--paper-2); }
.exh-gallery--cap .work{ margin-bottom:clamp(30px,3.4vw,52px); }
.cap-sub{ display:block; color:var(--stone); font-size:12px; letter-spacing:-0.01em; padding:3px 1px 0; }
@media (max-width:1000px){ .exh-gallery{ columns:2; } }
@media (max-width:640px){ .exh-gallery{ columns:1; } }
.exh-back{ padding:clamp(24px,4vw,60px) var(--mx) clamp(40px,6vw,90px); }
.exh-process{ padding-top:clamp(64px,9vw,130px); }
.process-head{ font-size:clamp(24px,3.4vw,44px); font-weight:500; letter-spacing:-0.03em; margin:0 0 clamp(40px,5vw,68px); }
.exh-process .frame--free{ background:var(--paper-2); }

/* films */
.film-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(24px,3vw,52px); }
.film-frame{ position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--ink); border:1px solid var(--line-soft); }
.film-frame video{ width:100%; height:100%; object-fit:cover; display:block; }
.film figcaption{ display:flex; justify-content:space-between; align-items:baseline; padding:14px 1px 0; }
.film figcaption .t{ font-weight:500; font-size:17px; }
.film figcaption .m{ color:var(--stone); }
@media (max-width:760px){ .film-grid{ grid-template-columns:1fr; } }

/* contact */
.contact-split{ display:grid; grid-template-columns:0.7fr 1fr; gap:clamp(36px,6vw,90px); align-items:start; padding-bottom:clamp(60px,9vw,140px); }
.contact-aside h4{ color:var(--stone); margin:0 0 16px; }
.contact-direct{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:10px; font-size:clamp(18px,1.6vw,22px); }
.contact-note{ color:var(--stone); line-height:1.7; max-width:30ch; }
.inquiry-form{ display:flex; flex-direction:column; gap:22px; max-width:620px; }
.inquiry-form .field{ display:flex; flex-direction:column; gap:9px; }
.inquiry-form label.mono{ color:var(--stone); }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea{
  font-family:var(--serif); font-size:18px; color:var(--ink);
  background:transparent; border:0; border-bottom:1px solid var(--line);
  padding:12px 2px; transition:border-color .25s var(--ease); border-radius:0;
}
.inquiry-form textarea{ resize:vertical; }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus{ outline:none; border-color:var(--rhed); }
.inquiry-form select{ appearance:none; -webkit-appearance:none; }
.form-status{ color:var(--rhed); margin:2px 0 0; min-height:1em; }
.form-sent{ border-top:1px solid var(--line); padding:clamp(28px,4vw,48px) 0; }
.form-sent-t{ font-size:clamp(26px,3vw,40px); font-weight:500; letter-spacing:-0.03em; margin:0 0 10px; }
.form-sent-m{ color:var(--stone); font-size:clamp(15px,1.4vw,18px); margin:0; max-width:34ch; }
.form-submit{ align-self:flex-start; margin-top:6px; padding:14px 26px; }
.form-fallback{ color:var(--stone); margin:4px 0 0; }
.hp{ position:absolute; left:-9999px; }
@media (max-width:860px){ .contact-split{ grid-template-columns:1fr; } }

/* lightbox real image */
.lb .stage img{ max-height:74vh; max-width:min(82vw,1000px); object-fit:contain; box-shadow:0 40px 90px -40px rgba(0,0,0,.6); }
