@charset "UTF-8";
/*
Theme Name: Subliminal Veg
Description: A quiet exhibition of fruit imagery with gentle fades and social icon links.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: subliminal-veg
*/
:root { color-scheme:dark; --ground:#111013; --ink:#dfd8dd; --muted:#a19ca6; --accent:#cad9b7; --line:#363139; }
* { box-sizing:border-box; }
html { background:var(--ground); }
body { margin:0; color:var(--ink); font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing:antialiased; }
::selection { background:var(--accent); color:var(--ground); }
a { color:inherit; }
a:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.skip-link { position:absolute; z-index:10; top:10px; left:10px; padding:10px 15px; background:var(--accent); color:var(--ground); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.exhibition { max-width:1680px; padding:31px 4.4vw 28px; margin:auto; }
.masthead { display:flex; gap:15px; align-items:center; }
.brand-mark { display:block; width:42px; height:42px; object-fit:contain; }
.masthead > span { color:var(--muted); font-size:10px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.site-name { margin:43px 0 46px -.006em; font-size:clamp(54px, 10.4vw, 174px); font-weight:400; line-height:.93; letter-spacing:-.075em; text-transform:lowercase; }
.image-wall { display:grid; grid-template-columns:.85fr 1.2fr .85fr; align-items:start; gap:2.1vw; }
.photograph { position:relative; min-width:0; margin:0; aspect-ratio:1; overflow:hidden; background:#0d0c0f; }
.photograph img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.fruit-frame { opacity:0; transform:scale(1.025); transition:opacity 1200ms ease, transform 1800ms cubic-bezier(.2,.55,.3,1); }
.fruit-frame.is-current { opacity:1; transform:scale(1); }
.main-photo { aspect-ratio:2/3; max-height:720px; }
.left { margin-top:7.2vw; }
.right { margin-top:16.5vw; aspect-ratio:3/4; }
.gallery-footer { display:flex; justify-content:flex-end; align-items:center; gap:22px; padding:44px 0 38px; }
.socials { display:flex; gap:14px; }
.socials a, .motion-toggle { display:grid; place-items:center; width:44px; height:44px; padding:10px; color:var(--accent); background:transparent; border:0; border-radius:50%; text-decoration:none; cursor:pointer; }
.socials a:hover, .motion-toggle:hover { color:var(--ink); background:#211e24; }
.socials svg, .motion-toggle svg { display:block; width:23px; height:23px; }
.motion-toggle { color:var(--muted); }
.motion-toggle svg { width:19px; height:19px; }
.motion-toggle[hidden] { display:none; }
.motion-toggle:not(.is-paused) .icon-play, .motion-toggle.is-paused .icon-pause { display:none; }
.footing { border-top:1px solid var(--line); padding-top:21px; color:var(--muted); font-size:9px; letter-spacing:.04em; }
@media (min-width:1800px) { .exhibition { padding-left:65px; padding-right:65px; } .image-wall { gap:35px; } .left { margin-top:130px; } .right { margin-top:275px; } }
@media (max-width:760px) {
 .exhibition { padding:23px 6vw 24px; }
 .brand-mark { width:35px; height:35px; }
 .masthead { gap:11px; }
 .masthead > span { font-size:9px; }
 .site-name { margin:37px 0 29px; font-size:12.2vw; letter-spacing:-.075em; white-space:nowrap; }
 .image-wall { grid-template-columns:1fr 1fr; gap:26px 17px; }
 .main-photo { grid-column:1 / -1; grid-row:1; max-height:none; aspect-ratio:4/5; }
 .side { margin-top:0; }
 .right { margin-top:39px; }
 .gallery-footer { gap:16px; padding:29px 0 27px; }
}
@media (prefers-reduced-motion:reduce) { .fruit-frame { transition:none; transform:none; } }

.custom-logo-link { display:block; line-height:0; }
.custom-logo-link img { display:block; width:42px; height:42px; object-fit:contain; }
.document { max-width:900px; padding:60px 6vw; margin:auto; line-height:1.75; }
.document h1 { font-size:clamp(32px, 5vw, 60px); line-height:1.1; font-weight:400; letter-spacing:-.04em; }
.document img { max-width:100%; height:auto; }
.document .return-link { display:inline-block; margin-bottom:30px; }
@media (max-width:760px) { .custom-logo-link img { width:35px; height:35px; } }
