/* Turning the Tide Digital Exhibition v2.2 — intentionally scoped to the shortcode. */
.ttt-exhibition, .ttt-exhibition * { box-sizing: border-box; }
.ttt-exhibition { --ttt-paper:#f7f7f3; --ttt-ink:#141414; --ttt-muted:#626262; --ttt-line:#e6e8e3; --ttt-white:#fff; width:100%; background:var(--ttt-paper); color:var(--ttt-ink); font-family:'Open Sans',Arial,Helvetica,sans-serif; line-height:1.55; font-weight:400; -webkit-font-smoothing:antialiased; }
.ttt-exhibition button, .ttt-exhibition a { -webkit-tap-highlight-color:transparent; }
.ttt-exhibition button { font:inherit; }
.ttt-exhibition__inner { max-width:1600px; margin:0 auto; padding:clamp(14px,1.2vw,22px); }
.ttt-exhibition__instruction { width:min(100%, 740px, max(430px, calc(100svh - 245px))); margin:0 auto 12px !important; color:#555; font-size:clamp(12px,1.05vw,14px); font-weight:400; letter-spacing:.004em; }
.ttt-exhibition__locations { width:min(100%, 740px, max(430px, calc(100svh - 245px))); margin-inline:auto; }
.ttt-exhibition__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ttt-exhibition__card { min-width:0; margin:0; background:transparent; }
.ttt-exhibition__media { position:relative; width:100%; background:#fff; overflow:hidden; aspect-ratio:1 / 1; border:1px solid #000; border-radius:14px; isolation:isolate; }
.ttt-exhibition__surface { display:block !important; appearance:none; width:100%; height:100%; text-decoration:none !important; padding:0 !important; margin:0 !important; border:0 !important; border-radius:0 !important; background:none !important; cursor:pointer; position:relative; overflow:hidden; box-shadow:none !important; }
.ttt-exhibition__surface img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; margin:0 !important; max-width:none; border:0; }
.ttt-exhibition__art { opacity:0; transform:scale(1.004); transition:opacity .33s ease,transform .6s ease; }
.ttt-exhibition__map { opacity:1; transition:opacity .33s ease; }
.ttt-exhibition__card.is-revealed .ttt-exhibition__art { opacity:1; transform:scale(1); }
.ttt-exhibition__card.is-revealed .ttt-exhibition__map { opacity:0; }
@media (hover:hover) and (pointer:fine) { .ttt-exhibition__card:hover .ttt-exhibition__art { opacity:1; transform:scale(1); } .ttt-exhibition__card:hover .ttt-exhibition__map { opacity:0; } }
.ttt-exhibition__eye { position:absolute !important; z-index:2; top:12px; right:12px; display:flex !important; align-items:center; justify-content:center; width:40px; height:40px; padding:0 !important; margin:0 !important; border:1px solid rgba(22,33,37,.2) !important; border-radius:50% !important; background:rgba(247,247,243,.90) !important; backdrop-filter:blur(6px); color:#1f2d31 !important; cursor:pointer; box-shadow:none !important; transition:background .18s,transform .18s; }
.ttt-exhibition__eye:hover { background:#fff !important; transform:scale(1.05); }
.ttt-exhibition__eye svg { display:block; flex-shrink:0; }
.ttt-exhibition :is(button,a):focus-visible { outline:2px solid #275f89 !important; outline-offset:3px; }
.ttt-exhibition__meta { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:28px; padding:1px 1px 0; background:transparent; }
.ttt-exhibition__place { font-size:clamp(13px,1.05vw,16px); font-weight:400; line-height:1.35; text-transform:lowercase; color:#161616; }
.ttt-exhibition__meta a { color:#414141 !important; font-size:clamp(11px,.8vw,12px); white-space:nowrap; text-decoration:none !important; line-height:1.3; transition:color .15s; }
.ttt-exhibition__meta a:hover { color:#000 !important; text-decoration:underline !important; }
.ttt-exhibition__meta a span { padding-left:2px; }
.ttt-exhibition__maps-banner { display:grid; grid-template-columns:minmax(0,32%) minmax(0,1fr) auto; gap:clamp(22px,3vw,44px); align-items:center; background:#fff; margin-top:26px; padding:12px 19px; min-height:126px; border-radius:14px; }
.ttt-exhibition__maps-thumbnail { display:block; min-width:0; overflow:hidden; height:105px; padding-right:0; border:1px solid #000; border-radius:12px; background:#fff; }
.ttt-exhibition__maps-thumbnail img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; margin:0; transition:transform .4s ease; }
.ttt-exhibition__maps-thumbnail:hover img { transform:scale(1.035); }
.ttt-exhibition__maps-copy { min-width:0; align-self:center; }
.ttt-exhibition__maps-copy h2 { font-family:inherit; color:#161616; font-size:clamp(19px,2vw,30px); line-height:1.25; font-weight:400; letter-spacing:-.045em; margin:0 0 5px !important; padding:0; }
.ttt-exhibition__maps-copy p { margin:0 !important; font-size:clamp(12px,1vw,15px); color:#606060; }
.ttt-exhibition__maps-link { align-self:center; justify-self:end; font-size:clamp(11px,.9vw,14px); color:#222 !important; white-space:nowrap; text-decoration:none !important; }
.ttt-exhibition__maps-link:hover { text-decoration:underline !important; }
.ttt-exhibition__maps-link span { margin-left:2px; }
.ttt-exhibition__introduction { margin:clamp(50px,7vw,112px) auto 70px; padding:0 0 20px; width:min(100%,830px); }
.ttt-exhibition__kicker { text-transform:uppercase; font-size:10px; letter-spacing:.16em; color:#626262; margin:0 0 18px !important; }
.ttt-exhibition__introduction h1 { font-family:inherit; font-size:clamp(30px,4vw,52px); letter-spacing:-.045em; line-height:1.13; font-weight:400; margin:0 0 22px !important; color:#131313; padding:0; }
.ttt-exhibition__lead { color:#292929; font-size:clamp(17px,1.7vw,21px); line-height:1.68; font-weight:400; margin:0 0 40px !important; }
.ttt-exhibition__prose { font-size:clamp(15px,1.15vw,17px); line-height:1.86; color:#2b2b2b; }
.ttt-exhibition__prose p { margin:0 0 1.18em !important; line-height:inherit; padding:0; }
.ttt-exhibition__prose a { color:#151515 !important; text-decoration:underline !important; text-underline-offset:3px; }
.ttt-exhibition__prose a:hover { color:#555 !important; }
.ttt-exhibition__questions { margin:24px 0 28px; padding:7px 0 7px clamp(16px,3vw,30px); border-left:3px solid #111; }
.ttt-exhibition__questions p { margin:0 0 7px !important; font-style:italic; color:#222; }
.ttt-exhibition__questions p:last-child { margin-bottom:0 !important; font-weight:600; }
@media(max-width:860px) { .ttt-exhibition__maps-banner { grid-template-columns:minmax(0,38%) minmax(0,1fr); gap:20px; } .ttt-exhibition__maps-link { grid-column:2; justify-self:start; margin-top:-14px; } .ttt-exhibition__maps-thumbnail { grid-row:span 2; height:115px; } }
@media(max-width:640px) { .ttt-exhibition__inner { padding:12px; } .ttt-exhibition__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .ttt-exhibition__media { aspect-ratio:1 / 1; } .ttt-exhibition__instruction { width:100%; line-height:1.5; margin-bottom:10px !important; } .ttt-exhibition__eye { top:8px; right:8px; width:36px; height:36px; } .ttt-exhibition__maps-banner { grid-template-columns:1fr; gap:13px; margin-top:22px; padding:12px; } .ttt-exhibition__maps-thumbnail { grid-row:auto; height:120px; padding-right:0; border:3px solid #000; } .ttt-exhibition__maps-copy h2 { font-size:23px; } .ttt-exhibition__maps-link { grid-column:auto; margin:0; } .ttt-exhibition__introduction { margin:60px auto 34px; padding:0 5px; } .ttt-exhibition__lead { margin-bottom:32px !important; } }
@media(prefers-reduced-motion:reduce) { .ttt-exhibition__art,.ttt-exhibition__map,.ttt-exhibition__maps-thumbnail img,.ttt-exhibition__eye { transition:none !important; } }

/* Compact preview grid: 2 × 2 on desktop and mobile, square uncropped artworks. */
@media(max-width:640px) {
  .ttt-exhibition__locations { width:100%; max-width:500px; }
  .ttt-exhibition__place { font-size:clamp(11px, 3vw, 14px); }
  .ttt-exhibition__meta a { font-size:clamp(9px, 2.55vw, 12px); }
  .ttt-exhibition__meta { gap:4px; min-height:28px; }
}

/* Keep typography consistent when Divi sets its own heading, link or button fonts. */
.ttt-exhibition :is(h1,h2,h3,p,a,button,span) { font-family:'Open Sans',Arial,Helvetica,sans-serif; }
