/* artgallery-afisha.css — главная gregvandyke.ru «Афиша» (variant C). Все классы с префиксом gv-, корень .gv-root.
   Шрифты самохостом: public/fonts/gvd-{unbounded,manrope}-*.woff2 (Google Fonts, переменные начертания, cyrillic+latin);
   Oswald берём из глобального @font-face оболочки (index.php, /public/brand/ludw-oswald-*.woff2). */
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700 900;font-display:swap;src:url(/public/fonts/gvd-unbounded-cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700 900;font-display:swap;src:url(/public/fonts/gvd-unbounded-lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url(/public/fonts/gvd-manrope-cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url(/public/fonts/gvd-manrope-lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ===================== ВАРИАНТ C · «АФИША» ===================== */
:where(.gv-root),:where(.gv-root) *,:where(.gv-root) *::before,:where(.gv-root) *::after{box-sizing:border-box}
body.gv-afisha-page{margin:0;background:#121010}
.gv-root{background:#121010;color:#121010;font:400 17px/1.5 "Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}
:where(.gv-root) img{display:block;max-width:100%}
:where(.gv-root) a{color:inherit}
:where(.gv-root) button{font:inherit;color:inherit}
:where(.gv-root) :is(h1,h2,h3,p,figure,dl,dd,dt){margin:0}
:where(.gv-root) :focus-visible{outline:3px solid #FFD21A;outline-offset:4px}
.gv-t-white :focus-visible,.gv-t-yellow :focus-visible,.gv-t-pink :focus-visible{outline-color:#1B3BD1}
.gv-root{--pad:48px;--U:"Unbounded","Arial Black",Impact,sans-serif;--O:"Oswald","Arial Narrow",Impact,sans-serif;--M:"Manrope",system-ui,Arial,sans-serif;--now:#FFD21A}
@media (max-width:760px){.gv-root{--pad:16px}}
.gv-skip{position:fixed;left:12px;top:-80px;z-index:200;background:#FFD21A;color:#111;padding:10px 14px;font:800 15px/1 var(--M);text-decoration:none}
.gv-skip:focus{top:12px}
.gv-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- цветовые темы разделов ---------- */
.gv-t-red   {--bg:#E42B1F;--fg:#121010;--acc:#FFD21A;--ph:#cf2318}
.gv-t-ink   {--bg:#121010;--fg:#FFF7E6;--acc:#FFD21A;--ph:#2a2624}
.gv-t-felt  {--bg:#0d2d1f;--fg:#FFF3D6;--acc:#FF5145;--ph:#0b4a2f}
.gv-t-cobalt{--bg:#3373a1;--fg:#FFFFFF;--acc:#FFD21A;--ph:#2c4ade;--ring:#FFFFFF;--shd:#0A1766;--fw:4px}
.gv-t-pink  {--bg:#FF4B91;--fg:#17090F;--acc:#FFE04A;--ph:#ef3a80;--ring:#17090F;--shd:#17090F;--fw:2px}
.gv-t-white {--bg:#FFFFFF;--fg:#0B0B0B;--acc:#0B0B0B;--ph:#eeeeee;--ring:#0B0B0B;--shd:#0B0B0B;--fw:2px}
.gv-t-yellow{--bg:#FFD21A;--fg:#141414;--acc:#E42B1F;--ph:#efc20c;--ring:#141414;--shd:#141414;--fw:2px}
.gv-t-deep  {--bg:#0D2A21;--fg:#D3E6DB;--acc:#9FD3B8;--ph:#123528;--title:#4C8A72;--fw:0px;--fs:0px}

/* ---------- полоса прогресса и кнопка меню ---------- */
.gv-progress{position:fixed;left:0;top:0;z-index:70;width:100%;height:4px;background:var(--now);transform-origin:0 50%;transform:scaleX(var(--sp,0));pointer-events:none}
.gv-menu-btn{position:fixed;z-index:80;top:18px;right:22px;display:flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;border:0;border-radius:999px;background:#121010;color:#FFF7E6;font:600 15px/1 var(--O);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 0 2px #FFF7E6,5px 5px 0 2px #121010;transition:transform .2s,box-shadow .2s}
.gv-menu-btn:hover{transform:translate(-2px,-2px);box-shadow:0 0 0 2px #FFF7E6,8px 8px 0 2px #121010}
.gv-menu-btn__dot{width:14px;height:14px;border-radius:50%;background:var(--now);box-shadow:0 0 0 2px #FFF7E6;transition:background .3s}
.gv-menu-btn__now{opacity:.7;letter-spacing:.06em;font-weight:500;max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .4s}
@media (min-width:761px){.gv-menu-btn.gv-has-now .gv-menu-btn__now{max-width:220px}}
/* на телефоне кнопка остаётся сверху: внизу справа живёт лаунчер чата оболочки (fixed, z-index 1270), слева — баннер cookie */
@media (max-width:760px){.gv-menu-btn{top:12px;right:12px;padding:11px 16px 11px 12px;font-size:14px}}

/* ---------- бегущие строки ---------- */
.gv-tk{position:relative;overflow:hidden;white-space:nowrap;background:#121010;color:#FFD21A;contain:paint}
.gv-tk__track{display:inline-flex;align-items:center;padding:16px 0;animation:gv-tk var(--dur,200s) linear infinite;will-change:transform}
.gv-tk:hover .gv-tk__track,.gv-tk:focus-within .gv-tk__track{animation-play-state:paused}
.gv-tk__track span,.gv-tk__track a{padding:0 .55em;font:600 clamp(20px,2.3vw,32px)/1 var(--O);letter-spacing:.02em;text-transform:uppercase}
.gv-tk__track a{color:inherit;text-decoration:none}
.gv-tk__track a:hover,.gv-tk__track a:focus-visible{text-decoration:underline;text-underline-offset:.15em}
.gv-tk__track a:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.gv-tk__track i{font-style:normal;color:#E42B1F;font-size:.9em}
@keyframes gv-tk{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.gv-tk__track{animation:none}}

/* ---------- HERO ---------- */
.gv-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;padding:22px var(--pad) 26px;background:var(--bg);color:var(--fg);overflow:hidden}
.gv-hero__dots{position:absolute;top:0;right:0;bottom:0;left:38%;pointer-events:none;background-image:radial-gradient(circle,#B9180F 0 33%,transparent 36%);background-size:15px 15px;-webkit-mask-image:linear-gradient(100deg,transparent 0,#000 55%);mask-image:linear-gradient(100deg,transparent 0,#000 55%)}
.gv-hero__top{position:relative;display:flex;gap:18px;align-items:center;padding-right:150px;font:600 14px/1.2 var(--O);letter-spacing:.16em;text-transform:uppercase}
.gv-hero__top span+span::before{content:"✶";margin-right:18px;color:var(--acc)}
.gv-hero__grid{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,72px);padding:clamp(18px,3vh,44px) 0}
.gv-hero__name{min-width:0;font-family:var(--U);font-weight:900;line-height:.84;letter-spacing:-.045em;text-transform:uppercase}
.gv-hero__name .gv-ln{font-size:12vw}
.gv-hero__name .gv-van{display:flex;align-items:center;gap:.22em}
.gv-hero__name .gv-van small{display:block;font:800 max(13px,.105em)/1.1 var(--M);letter-spacing:0;text-transform:none;border-left:3px solid currentColor;padding-left:.7em}
.gv-hero__fig{position:relative;justify-self:center;width:min(100%,calc((100vh - 270px) * .699));width:min(100%,calc((100svh - 270px) * .699));min-width:220px}
.gv-hero__fig .gv-w__img{--fw:10px;--fs:16px;--ring:#FFF7E6;--shd:#121010;transform:rotate(2.5deg)}
.gv-hero__fig .gv-w:hover .gv-w__img{transform:rotate(0) translate(-4px,-4px)}
.gv-hero__fig figcaption{margin-top:46px;font:600 14px/1.3 var(--O);letter-spacing:.08em;text-transform:uppercase;text-align:right}
.gv-badge{position:absolute;left:-58px;top:-54px;width:132px;height:132px;z-index:2;pointer-events:none}
.gv-badge svg{width:100%;height:100%;animation:gv-spin 22s linear infinite}
.gv-badge circle{fill:#FFD21A;stroke:#121010;stroke-width:3}
.gv-badge text{font:600 15.5px var(--O);letter-spacing:.06em;fill:#121010}
.gv-badge b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:900 30px/1 var(--U);color:#121010}
.gv-badge b small{display:block;font:600 11px/1 var(--O);letter-spacing:.14em;text-transform:uppercase}
@keyframes gv-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.gv-badge svg{animation:none}}
.gv-hero__bottom{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 36px;border-top:3px solid var(--fg);padding-top:14px}
.gv-hero__line{font:800 clamp(20px,2.5vw,36px)/1.1 var(--U);letter-spacing:-.02em}
.gv-hero__sub{font:600 clamp(15px,1.25vw,18px)/1.4 var(--M);max-width:40ch}
.gv-hero__cue{font:600 15px/1 var(--O);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid}
@media (max-width:760px){
  .gv-hero{padding-top:18px}
  .gv-hero__top{padding-right:110px;font-size:12px;letter-spacing:.12em}
  .gv-hero__top span+span::before{margin-right:12px}
  .gv-hero__grid{grid-template-columns:minmax(0,1fr);align-content:center;gap:34px;padding:22px 0 26px}
  .gv-hero__fig{width:min(58vw,calc((100svh - 470px) * .699));min-width:170px}
  .gv-hero__fig .gv-w__img{--fw:7px;--fs:10px}
  .gv-hero__fig figcaption{margin-top:24px;font-size:12px;text-align:center}
  .gv-badge{width:92px;height:92px;left:-46px;top:-40px}
  .gv-badge b{font-size:21px}.gv-badge b small{font-size:9px}
  .gv-hero__dots{left:0;top:40%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 40%);mask-image:linear-gradient(180deg,transparent 0,#000 40%)}
  .gv-hero__cue{display:none}
}

/* ---------- афиша разделов (навигация) ---------- */
.gv-plaques{background:#121010;color:#FFF7E6;padding:clamp(52px,6vw,100px) var(--pad) clamp(60px,7vw,110px)}
.gv-kicker{display:flex;justify-content:space-between;gap:16px;border-top:3px solid currentColor;padding-top:12px;font:600 clamp(13px,1.2vw,16px)/1.2 var(--O);letter-spacing:.12em;text-transform:uppercase}
.gv-plaques__h{margin:clamp(16px,2vw,30px) 0 clamp(26px,3vw,44px);font:900 clamp(40px,7.4vw,124px)/.88 var(--U);letter-spacing:-.04em;text-transform:uppercase}
.gv-plaques__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(210px,19vw,300px);gap:16px;grid-template-areas:"w w b b" "w w c k" "f f s s"}
.gv-plq{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:18px 20px 20px;background:var(--bg);color:var(--fg);text-decoration:none;container-type:inline-size;overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.gv-plq:hover,.gv-plq:focus-visible{transform:translate(-6px,-6px);box-shadow:8px 8px 0 #FFF7E6}
.gv-plq--wonderland{grid-area:w}.gv-plq--blue{grid-area:b}.gv-plq--color{grid-area:c}.gv-plq--bw{grid-area:k}.gv-plq--figures{grid-area:f}.gv-plq--silence{grid-area:s}
.gv-plq__top{position:relative;z-index:2;display:flex;justify-content:space-between;gap:10px;font:600 15px/1 var(--O);letter-spacing:.1em;text-transform:uppercase}
.gv-plq__name{position:relative;z-index:2;max-width:92%;font:900 clamp(21px,9.5cqi,88px)/.9 var(--U);letter-spacing:-.035em;text-transform:uppercase;hyphens:manual}
.gv-plq--wonderland .gv-plq__name{font-size:clamp(28px,12cqi,120px)}
.gv-plq__suits{display:flex;gap:10px;margin-top:12px}
.gv-plq__suits svg{width:26px;height:26px}
.gv-plq__thumb{position:absolute;z-index:1;right:7%;top:20%;width:24cqi;box-shadow:0 0 0 3px var(--fg),7px 7px 0 3px rgba(0,0,0,.45);transform:rotate(5deg);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.gv-plq__thumb img{width:100%;height:auto}
.gv-plq:hover .gv-plq__thumb{transform:rotate(-2deg) scale(1.06)}
.gv-plq--blue .gv-plq__thumb,.gv-plq--figures .gv-plq__thumb,.gv-plq--silence .gv-plq__thumb{width:21cqi;top:14%}
.gv-plq__fan{position:absolute;right:6%;top:13%;width:50cqi;height:46cqi;z-index:1}
.gv-plq__fan span{position:absolute;top:0;width:44%;padding:7% 5% 14%;background:#FBF6E9;border-radius:9px;box-shadow:6px 7px 0 rgba(0,0,0,.35);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.gv-plq__fan span:nth-child(1){left:0;transform:rotate(-12deg) translateY(8%)}
.gv-plq__fan span:nth-child(2){left:28%;transform:rotate(0) translateY(-2%);z-index:2}
.gv-plq__fan span:nth-child(3){left:56%;transform:rotate(12deg) translateY(8%)}
.gv-plq:hover .gv-plq__fan span:nth-child(1){transform:rotate(-18deg) translate(-8%,6%)}
.gv-plq:hover .gv-plq__fan span:nth-child(3){transform:rotate(18deg) translate(8%,6%)}
.gv-plq__fan img{width:100%;height:auto}
@media (max-width:760px){
  .gv-plaques__grid{grid-template-columns:1fr 1fr;grid-template-areas:"w w" "b c" "k f" "s s";grid-auto-rows:minmax(168px,auto);gap:12px}
  .gv-plq{padding:14px 14px 16px}
  .gv-plq__top{font-size:13px}
  .gv-plq--wonderland{min-height:300px}
  .gv-plq__name{font-size:clamp(15px,10.2cqi,40px)}
  .gv-plq--wonderland .gv-plq__name,.gv-plq--silence .gv-plq__name{font-size:clamp(24px,10cqi,48px)}
  .gv-plq__thumb,.gv-plq--blue .gv-plq__thumb,.gv-plq--figures .gv-plq__thumb{width:30cqi;top:40px;right:9%}
  .gv-plq--silence .gv-plq__thumb{width:17cqi;top:40px}
}

/* ---------- разделы ---------- */
.gv-sec{position:relative;background:var(--bg);color:var(--fg);padding-bottom:clamp(76px,9vw,150px);overflow:hidden}
@supports (overflow:clip){.gv-sec,.gv-hero,.gv-foot,.gv-about{overflow:clip}}
.gv-sec__head{position:relative;padding:clamp(60px,7vw,112px) var(--pad) clamp(30px,4vw,60px)}
.gv-sec__meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:3px solid currentColor;padding-top:12px;font:600 clamp(13px,1.2vw,16px)/1.2 var(--O);letter-spacing:.12em;text-transform:uppercase}
.gv-sec__meta b{font:900 1.7em/1 var(--U);letter-spacing:-.02em}
.gv-sec__title{margin-top:clamp(18px,2.4vw,36px);font-family:var(--U);font-weight:900;line-height:.9;letter-spacing:-.04em;text-transform:uppercase;color:var(--title,var(--fg))}
.gv-ln{display:block;width:max-content;white-space:nowrap;font-size:12vw}
.gv-ln--out{color:var(--flat,var(--bg));-webkit-text-stroke:max(3px,.024em) var(--title,var(--fg));paint-order:stroke fill}
.gv-drift{transform:translate3d(calc(var(--p,0) * var(--dx,0) * 2.4vw),0,0)}
.gv-sec__lead{max-width:46ch;margin-top:clamp(22px,3vw,40px);font:500 clamp(17px,1.45vw,21px)/1.5 var(--M)}
.gv-sec__lead a{font-weight:700}
.gv-sec__lead em{font-style:normal;font-weight:800}

/* ---------- стены (шпалерная развеска) ---------- */
.gv-grp+.gv-grp{margin-top:clamp(56px,6vw,96px)}
.gv-wl{display:flex;align-items:baseline;gap:14px;margin:0 var(--pad) clamp(18px,2vw,30px);font:600 clamp(13px,1.15vw,16px)/1.2 var(--O);letter-spacing:.12em;text-transform:uppercase}
.gv-wl b{font:900 clamp(24px,2.8vw,42px)/1 var(--U);letter-spacing:-.02em;text-transform:none}
.gv-wl::after{content:"";flex:1;min-width:24px;height:3px;align-self:center;background:currentColor}
@media (max-width:760px){.gv-wl{flex-wrap:wrap;row-gap:8px;border-top:3px solid currentColor;padding-top:10px}.gv-wl b{order:2;flex-basis:100%}.gv-wl span:last-of-type{order:1;margin-left:auto}.gv-wl::after{display:none}}
.gv-wall{--g:22px;--c:52px;--cp:18px;--fs:9px;margin:0 var(--pad);display:flex;flex-direction:column;gap:var(--g)}
.gv-wall--dense{--g:14px;--c:48px;--cp:14px;--fs:5px;margin:0 14px}
.gv-t-cobalt .gv-wall--dense{--fw:3px}
.gv-wall--quiet{--g:84px;--c:62px;--cp:26px}
@media (max-width:760px){
  .gv-wall{--g:12px;--c:42px;--cp:12px;--fs:5px}
  .gv-t-cobalt .gv-wall{--fw:3px}
  .gv-wall--dense{--g:10px;--c:42px;--cp:11px;--fs:4px;margin:0 10px}
  .gv-t-cobalt .gv-wall--dense{--fw:2px}
  .gv-wall--quiet{--g:40px;--c:52px;--cp:20px}
}
.gv-r{display:grid;column-gap:var(--g);align-items:start}
.gv-v{display:flex;flex-direction:column;gap:var(--g);min-width:0}
.gv-w{display:block;position:relative;min-width:0;color:inherit;text-decoration:none}
.gv-w__img{display:block;position:relative;background:var(--ph);box-shadow:0 0 0 var(--fw,0) var(--ring,transparent),var(--fs,0) var(--fs,0) 0 var(--fw,0) var(--shd,transparent);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s cubic-bezier(.2,.8,.2,1)}
.gv-w__img img{width:100%;height:100%;object-fit:contain}
.gv-w:hover .gv-w__img,.gv-w:focus-visible .gv-w__img{transform:translate(-4px,-4px);box-shadow:0 0 0 var(--fw,0) var(--ring,transparent),calc(var(--fs,0px) + 6px) calc(var(--fs,0px) + 6px) 0 var(--fw,0) var(--shd,transparent)}
.gv-w__cap{display:block;height:var(--c);padding-top:var(--cp);overflow:hidden}
.gv-w__t{display:block;font:600 13.5px/17px var(--O);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gv-w__m{display:block;font:500 12px/16px var(--M);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gv-w:hover .gv-w__t{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
@media (max-width:760px){.gv-w__t{font-size:11.5px;line-height:15px}.gv-w__m{font-size:10.5px;line-height:14px}}
.gv-t-deep .gv-w__img{outline:1px solid rgba(211,230,219,.3);outline-offset:16px;transition:outline-color .3s,outline-offset .3s}
.gv-t-deep .gv-w:hover .gv-w__img{transform:none;outline-color:rgba(211,230,219,.85);outline-offset:10px}
.gv-t-deep .gv-r{background:radial-gradient(50% 60% at 50% 45%,rgba(211,230,219,.06),transparent 75%)}
@media (max-width:760px){.gv-t-deep .gv-w__img{outline-offset:9px}}
.gv-t-deep .gv-w__cap{text-align:center}
.gv-wall-note{margin:clamp(26px,3vw,40px) var(--pad) 0;font:600 14px/1.4 var(--O);letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.gv-wall-note a{text-underline-offset:3px}

/* ---------- появление ---------- */
/* появление включается только после init (класс gv-ready на корне): без JS ничего не прячем */
.gv-root.gv-ready .gv-rv{opacity:0;transform:translate3d(0,34px,0)}
.gv-root.gv-ready .gv-rv.gv-in{opacity:1;transform:none;transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:reduce){.gv-root.gv-ready .gv-rv{opacity:1;transform:none}.gv-drift{transform:none!important}.gv-w:hover .gv-w__img,.gv-w:focus-visible .gv-w__img{transform:none}}

/* ---------- Страна чудес: карточный стол ---------- */
.gv-t-felt .gv-halls{background:var(--bg)}
.gv-suits{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(26px,3vw,40px)}
.gv-suit{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border-radius:12px;background:#FBF6E9;color:#1d1a16;text-decoration:none;font:600 15px/1 var(--O);letter-spacing:.06em;text-transform:uppercase;box-shadow:5px 6px 0 rgba(0,0,0,.35);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.gv-suit:nth-child(odd){transform:rotate(-2deg)}.gv-suit:nth-child(even){transform:rotate(2deg)}
.gv-suit:hover{transform:translateY(-4px) rotate(0)}
.gv-suit svg{width:22px;height:22px;fill:var(--sc)}
.gv-suit em{font-style:normal;opacity:.55}
.gv-tk--band{margin:clamp(10px,2vw,30px) -4vw 0;background:#E42B1F;color:#FFF3D6;transform:rotate(-2deg);box-shadow:0 8px 0 rgba(0,0,0,.25)}
.gv-tk--band .gv-tk__track{padding:14px 0}
.gv-tk--band .gv-tk__track span{font:800 clamp(18px,2vw,28px)/1 var(--U);letter-spacing:-.01em}
.gv-tk--band .gv-tk__track i{color:#121010}
.gv-halls{display:flex;flex-direction:column;gap:clamp(90px,10vw,170px);padding:clamp(70px,8vw,130px) var(--pad) 0}
.gv-hall{display:grid;grid-template-columns:minmax(230px,270px) minmax(0,1fr);gap:clamp(28px,3vw,48px);align-items:start}
.gv-hall__head{position:sticky;top:90px}
.gv-pip{display:grid;place-items:center;width:92px;height:128px;border-radius:12px;background:#FBF6E9;box-shadow:6px 7px 0 rgba(0,0,0,.35);transform:rotate(-4deg)}
.gv-pip svg{width:54px;height:54px;fill:var(--sc)}
.gv-hall__k{margin-top:26px;font:600 14px/1.2 var(--O);letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.gv-hall__t{margin-top:8px;font:900 clamp(22px,2.15vw,31px)/1 var(--U);letter-spacing:-.035em;text-transform:uppercase}
.gv-hall__q{margin-top:16px;font:700 italic 18px/1.35 var(--M);color:#FFD21A}
.gv-hall__lead{margin-top:12px;font:500 16px/1.5 var(--M);opacity:.92}
.gv-hall__n{margin-top:14px;font:600 14px/1 var(--O);letter-spacing:.12em;text-transform:uppercase}
.gv-hall__n b{font:900 22px/1 var(--U)}
.gv-table{--px:12px;--pt:38px;--pb:40px;--pp:10px;--pg:6px;--cg:34px;--rg:52px;display:flex;flex-direction:column;align-items:center;gap:var(--rg);min-width:0}
.gv-trow{display:flex;justify-content:center;align-items:center;gap:var(--cg);flex-wrap:nowrap;max-width:100%}
.gv-card{position:relative;flex:none;width:calc(var(--ch,220px) * var(--k,1) * var(--car) + 2 * var(--px));padding:var(--pt) var(--px) var(--pb);border-radius:14px;background:#FBF6E9;color:#2a241c;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07),10px 12px 0 rgba(0,0,0,.3);transform:rotate(var(--rot,0deg)) translateY(var(--ty,0px));transition:transform .4s cubic-bezier(.2,.9,.25,1.15),box-shadow .4s}
.gv-card:hover,.gv-card:focus-within{transform:rotate(0deg) translateY(-12px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.07),16px 22px 0 rgba(0,0,0,.32);z-index:3}
.gv-card--pair{width:calc(var(--ch,220px) * var(--k,1) * var(--car) + var(--pg) + 2 * var(--pp) + 2 * var(--px))}
.gv-card--triptych{width:calc(var(--ch,220px) * var(--k,1) * var(--car) + 2 * var(--pg) + 2 * var(--pp) + 2 * var(--px))}
.gv-card--tri{width:calc(var(--tw) + 2 * var(--pp) + 2 * var(--px))}
.gv-card .gv-w__img{box-shadow:0 0 0 1px rgba(0,0,0,.12);background:#e7dfcf}
.gv-card .gv-w:hover .gv-w__img{transform:none;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.gv-card__art--pair{display:grid;gap:var(--pg);padding:var(--pp);border-radius:8px}
.gv-card__art--triptych{display:grid;gap:var(--pg);padding:var(--pp);border-radius:8px;background:#F3E4D3}
.gv-card__art--tri{display:flex;flex-direction:column;gap:3px;padding:var(--pp);border-radius:8px}
.gv-card__art--pair,.gv-card__art--tri{background-color:#F3E4D3;background-image:repeating-linear-gradient(45deg,var(--lat) 0 1.5px,transparent 1.5px 9px),repeating-linear-gradient(-45deg,var(--lat) 0 1.5px,transparent 1.5px 9px)}
.gv-card__idx{position:absolute;display:flex;align-items:center;gap:5px;font:800 19px/1 var(--U);letter-spacing:-.03em;color:var(--sc)}
.gv-card__idx svg{width:17px;height:17px;fill:currentColor}
.gv-card__idx--tl{top:11px;left:13px}
.gv-card__idx--br{right:13px;bottom:11px;transform:rotate(180deg)}
.gv-card__cap{position:absolute;left:var(--px);right:62px;bottom:13px;font:600 11.5px/14px var(--O);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6a6152}
.gv-hall--spade,.gv-hall--club{--sc:#161412;--lat:#1E2B63}
.gv-hall--heart,.gv-hall--diamond{--sc:#D3241B;--lat:#C8231B}
.gv-table--alice{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:40px 64px;--ch:230px;--tw:220px}
.gv-table--alice .gv-col{display:flex;flex-direction:column;align-items:center;gap:50px}
@media (max-width:1100px){
  .gv-hall{grid-template-columns:1fr}
  .gv-hall__head{position:static;display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:start}
  .gv-hall__head .gv-pip{grid-row:span 5}
  .gv-hall__k{margin-top:0}
}
@media (max-width:760px){
  .gv-halls{gap:84px}
  .gv-pip{width:64px;height:90px}
  .gv-pip svg{width:38px;height:38px}
  .gv-hall__q{font-size:16px}
  .gv-hall__lead{font-size:15px}
  .gv-table{--px:8px;--pt:28px;--pb:30px;--pp:6px;--pg:4px;--cg:14px;--rg:28px}
  .gv-card{border-radius:10px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07),6px 8px 0 rgba(0,0,0,.3)}
  .gv-card__idx{font-size:14px;gap:3px}
  .gv-card__idx svg{width:12px;height:12px}
  .gv-card__idx--tl{top:8px;left:9px}.gv-card__idx--br{right:9px;bottom:8px}
  .gv-card__cap{font-size:9.5px;line-height:12px;bottom:9px;right:40px}
  .gv-card__cap .gv-opt{display:none}
  .gv-table--alice{grid-template-columns:1fr;justify-items:center;--ch:126px;--tw:150px;gap:30px}
  .gv-table--alice .gv-col{flex-direction:row;align-items:center;gap:14px}
}

/* ---------- о художнике ---------- */
.gv-about{position:relative;background:var(--bg);color:var(--fg);padding:clamp(70px,8vw,140px) var(--pad);overflow:hidden}
.gv-about__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,110px);align-items:center}
.gv-about__fig{position:relative;max-width:520px;width:100%;justify-self:center}
.gv-about__fig .gv-w__img{--fw:10px;--fs:16px;--ring:#FFF7E6;--shd:#E42B1F;transform:rotate(-2.5deg)}
.gv-about__fig .gv-w:hover .gv-w__img{transform:rotate(0) translate(-4px,-4px)}
.gv-about__fig .gv-w__cap{--c:auto;--cp:50px;height:auto}
.gv-about__h{margin-top:clamp(16px,2vw,28px);font:900 clamp(44px,7vw,118px)/.88 var(--U);letter-spacing:-.045em;text-transform:uppercase}
.gv-about__h span{display:block;color:#121010;-webkit-text-stroke:max(3px,.024em) #FFF7E6;paint-order:stroke fill}
.gv-about__lead{margin-top:clamp(22px,3vw,36px);max-width:40ch;font:600 clamp(19px,1.8vw,26px)/1.4 var(--M)}
.gv-about__lead b{color:var(--acc)}
.gv-about__txt p+p{margin-top:14px}
.gv-about__more{max-width:52ch;font:500 17px/1.55 var(--M);opacity:.85}
.gv-nums{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px clamp(26px,4vw,64px);margin-top:clamp(28px,3vw,44px)}
.gv-nums dd{font:900 clamp(44px,5.4vw,86px)/.9 var(--U);letter-spacing:-.04em;color:var(--acc)}
.gv-nums dt{margin-top:8px;font:600 13px/1.2 var(--O);letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.gv-nums div{display:flex;flex-direction:column-reverse}
.gv-btn{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(28px,3vw,44px);padding:18px 26px;background:var(--acc);color:#121010;text-decoration:none;font:800 16px/1 var(--U);letter-spacing:-.01em;box-shadow:7px 7px 0 #FFF7E6;transition:transform .2s,box-shadow .2s}
.gv-btn:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 #FFF7E6}
@media (max-width:860px){.gv-about__grid{grid-template-columns:1fr}.gv-about__fig{max-width:330px}.gv-nums{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- подвал ---------- */
.gv-foot{position:relative;background:var(--bg);color:var(--fg);padding:clamp(56px,6vw,96px) var(--pad) 0;overflow:hidden}
.gv-foot__links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.45fr);gap:0;border-top:3px solid currentColor}
.gv-foot__links a{display:flex;flex-direction:column;gap:10px;padding:20px 18px 24px 0;text-decoration:none;font:800 clamp(18px,1.9vw,28px)/1.1 var(--U);letter-spacing:-.02em;overflow-wrap:anywhere}
.gv-foot__links .gv-foot__mail{font-size:clamp(15px,1.55vw,24px)}
.gv-foot__links a span{font:600 13px/1 var(--O);letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.gv-foot__links a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.gv-foot__small{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:18px 0;border-top:3px solid currentColor;font:600 14px/1.3 var(--O);letter-spacing:.1em;text-transform:uppercase}
.gv-foot__small a{text-decoration:none;border-bottom:2px solid}
.gv-foot__name{margin-top:clamp(20px,3vw,40px);margin-bottom:-.2em;font-family:var(--U);font-weight:900;line-height:.8;letter-spacing:-.05em;text-transform:uppercase}
.gv-foot__name .gv-ln{font-size:13vw}
@media (max-width:760px){.gv-foot__links{grid-template-columns:1fr 1fr}.gv-foot__links .gv-foot__mail{grid-column:span 2;font-size:19px}.gv-foot__links a{padding:16px 10px 18px 0;font-size:17px}.gv-foot{padding-bottom:0}.gv-foot__small{padding-bottom:84px}}

/* ---------- полноэкранное меню ---------- */
.gv-menu{position:fixed;inset:0;z-index:1300;display:flex;flex-direction:column;background:#121010;color:#FFF7E6;overflow-y:auto;overscroll-behavior:contain;padding:18px var(--pad) 24px}
.gv-menu[hidden]{display:none}
.gv-menu__top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;font:600 15px/1 var(--O);letter-spacing:.14em;text-transform:uppercase}
.gv-menu__close{border:0;border-radius:999px;padding:12px 18px;background:#FFF7E6;color:#121010;font:600 15px/1 var(--O);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.gv-menu__list{display:flex;flex-direction:column;gap:10px;flex:1}
.gv-mbar{display:flex;flex-direction:column;justify-content:center;flex:1 0 auto;min-height:72px;padding:12px 20px;background:var(--bg);color:var(--fg)}
.gv-mbar__main{display:flex;align-items:baseline;gap:18px;text-decoration:none}
.gv-mbar__n{font:600 15px/1 var(--O);letter-spacing:.12em}
.gv-mbar__t{flex:1;font:900 clamp(24px,4.6vw,64px)/.95 var(--U);letter-spacing:-.035em;text-transform:uppercase}
.gv-mbar__c{font:600 15px/1 var(--O);letter-spacing:.12em;text-transform:uppercase}
.gv-mbar__main:hover .gv-mbar__t{text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:6px}
.gv-mbar__suits{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px}
.gv-mbar__suits a{display:flex;align-items:center;gap:6px;font:600 15px/1 var(--O);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:7px 10px 7px 8px;border-radius:8px;background:#FBF6E9;color:#1d1a16}
.gv-mbar__suits svg{width:15px;height:15px;fill:var(--sc)}
.gv-menu__foot{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:16px;font:600 14px/1 var(--O);letter-spacing:.12em;text-transform:uppercase}
.gv-menu__foot a{text-decoration:none;border-bottom:2px solid}
body.gv-afisha-page.gv-menu-open{overflow:hidden}

/* ---------- оболочка сайта на этой странице ---------- */
body.gv-afisha-page header.topmenu--gallery,body.gv-afisha-page footer.gvd-footer{display:none}
/* стены до раскладки JS: скрыты только после старта init (gv-ready на корне); без JS — плоский flex-фолбэк */
.gv-wall{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--g)}
.gv-wall>.gv-w{flex:1 1 220px;max-width:420px}
.gv-wall[data-mode]{flex-direction:column;flex-wrap:nowrap}
.gv-wall[data-mode]>.gv-w{flex:none;max-width:none}
.gv-root.gv-ready .gv-wall:not([data-mode]){visibility:hidden}

/* ---------- карточка работы (/artgallery/{ida}) ---------- */
.gv-root--work{background:var(--bg);color:var(--fg);min-height:100vh;display:flex;flex-direction:column}
.gv-work{flex:1;padding:22px var(--pad) clamp(60px,7vw,110px)}
.gv-work__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 150px 14px 0;border-bottom:3px solid var(--fg);font:600 14px/1.2 var(--O);letter-spacing:.14em;text-transform:uppercase}
.gv-work__back{text-decoration:none;border-bottom:2px solid;padding-bottom:1px}
.gv-work__back:hover{color:var(--acc)}
.gv-work__pos{opacity:.8;text-align:right}
.gv-work__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr);gap:clamp(28px,5vw,80px);align-items:start;padding-top:clamp(28px,4vw,56px)}
.gv-work__fig{margin:0;position:relative;justify-self:center;width:100%;max-width:min(100%,calc((100vh - 220px) * var(--war,1)))}
.gv-work__frame{display:block;position:relative;width:100%;padding:0;border:0;background:none;cursor:zoom-in;text-align:left}
.gv-work__frame .gv-w__img{--fw:10px;--fs:16px;--ring:#FFF7E6;--shd:#121010;transform:rotate(-1.5deg);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.gv-work__frame:hover .gv-w__img,.gv-work__frame:focus-visible .gv-w__img{transform:rotate(0) translate(-4px,-4px)}
.gv-t-white .gv-work__frame .gv-w__img{--ring:#0B0B0B;--shd:#0B0B0B;--fw:3px;--fs:12px}
.gv-t-deep .gv-work__frame .gv-w__img{--fw:0px;--fs:0px;outline:1px solid rgba(211,230,219,.45);outline-offset:18px}
.gv-work__fig--card .gv-work__frame{padding:40px 14px 44px;border-radius:14px;background:#FBF6E9;color:#2a241c;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07),12px 14px 0 rgba(0,0,0,.3);transform:rotate(-1.5deg);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.gv-work__fig--card .gv-work__frame:hover{transform:rotate(0) translateY(-6px)}
.gv-work__fig--card .gv-work__frame .gv-w__img{--fw:0px;--fs:0px;transform:none;box-shadow:0 0 0 1px rgba(0,0,0,.12);background:#e7dfcf}
.gv-work__fig--card .gv-work__frame:hover .gv-w__img{transform:none}
.gv-work__fig--card .gv-card__idx{font-size:24px}
.gv-work__fig--card .gv-card__idx svg{width:20px;height:20px}
.gv-hall--spade .gv-work__fig--card,.gv-hall--club .gv-work__fig--card{--sc:#161412}
.gv-root--work .gv-work__fig--card{--sc:#D3241B}
.gv-root--work.gv-suit-spade .gv-work__fig--card,.gv-root--work.gv-suit-club .gv-work__fig--card{--sc:#161412}
.gv-work__zoomhint{margin-top:38px;font:600 12px/1.3 var(--O);letter-spacing:.14em;text-transform:uppercase;opacity:.7;text-align:center}
.gv-work__info{min-width:0}
.gv-work__kicker{font:600 14px/1.2 var(--O);letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.gv-work__h{margin-top:10px;font-family:var(--U);font-weight:900;line-height:.92;letter-spacing:-.04em;text-transform:uppercase;overflow-wrap:normal;word-break:keep-all}
.gv-work__h .gv-ln{display:block;width:auto;white-space:normal;font-size:clamp(30px,3.8vw,64px)}
.gv-work__artist{margin-top:18px;font:800 18px/1.3 var(--M)}
.gv-work__artist span{font-weight:500;opacity:.75;margin-left:.5em}
.gv-work__meta{margin-top:26px;border-top:3px solid var(--fg)}
.gv-work__meta div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid currentColor}
.gv-work__meta dt{font:600 13px/1.3 var(--O);letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.gv-work__meta dd{font:600 16px/1.4 var(--M)}
.gv-work__desc{margin-top:22px;font:500 17px/1.55 var(--M);max-width:46ch}
.gv-work__desc p+p{margin-top:12px}
.gv-work__slogan{margin:22px 0 0;padding-left:16px;border-left:4px solid var(--acc);font:700 italic 18px/1.4 var(--M)}
.gv-work__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.gv-work__cta .gv-btn{margin-top:22px}
.gv-btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 3px currentColor}
.gv-btn--ghost:hover{box-shadow:inset 0 0 0 3px currentColor,8px 8px 0 var(--acc)}
.gv-t-white .gv-btn,.gv-t-yellow .gv-btn{box-shadow:7px 7px 0 var(--fg)}
.gv-t-white .gv-btn{background:var(--fg);color:#fff}
.gv-work__status{margin-top:22px;font:600 13px/1.3 var(--O);letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.gv-work__nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(48px,6vw,90px);border-top:3px solid var(--fg);padding-top:18px}
.gv-work__nav-a{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:0}
.gv-work__nav-a--next{justify-content:flex-end;text-align:right}
.gv-work__nav-thumb{flex:none;width:72px}
.gv-work__nav-thumb img{width:100%;height:auto;box-shadow:0 0 0 2px var(--fg),4px 4px 0 2px rgba(0,0,0,.35)}
.gv-work__nav-t{display:flex;flex-direction:column;gap:6px;font:800 clamp(15px,1.4vw,20px)/1.15 var(--U);letter-spacing:-.02em;min-width:0;overflow-wrap:anywhere}
.gv-work__nav-t small{font:600 12px/1 var(--O);letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.gv-work__nav-a:hover .gv-work__nav-t{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.gv-work__more{margin-top:clamp(48px,6vw,90px)}
.gv-work__more .gv-wl{margin-left:0;margin-right:0}
.gv-work__more .gv-wl a{text-decoration:none;border-bottom:2px solid}
.gv-work__strip{--g:18px;--c:52px;--cp:16px;--fs:9px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--g);align-items:end}
.gv-work__strip .gv-w__img{display:flex;align-items:flex-end}
.gv-work__strip img{width:100%;height:auto}
.gv-t-deep .gv-work__strip .gv-w__img{outline-offset:8px}
@media (max-width:1100px){.gv-work__grid{grid-template-columns:1fr}.gv-work__fig{max-width:min(100%,560px)}.gv-work__strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .gv-work{padding-top:16px}
  .gv-work__bar{padding-right:110px;font-size:12px;flex-wrap:wrap}
  .gv-work__pos{display:none}
  .gv-work__fig{max-width:100%}
  .gv-work__frame .gv-w__img{--fw:7px;--fs:10px}
  .gv-work__fig--card .gv-work__frame{padding:30px 9px 32px}
  .gv-work__h .gv-ln{font-size:clamp(28px,8.5vw,42px)}
  .gv-work__meta div{grid-template-columns:96px 1fr}
  .gv-work__nav{grid-template-columns:1fr;gap:10px}
  .gv-work__nav-a--next{justify-content:flex-start;text-align:left;flex-direction:row-reverse}
  .gv-work__strip{grid-template-columns:repeat(2,minmax(0,1fr));--g:12px}
}

/* ---------- лайтбокс (artgallery_lightbox_script, классы ag-lightbox сохранены) ---------- */
.ag-lightbox{position:fixed;inset:0;background:#0a0907;z-index:9999;display:flex;align-items:center;justify-content:center;touch-action:pinch-zoom;opacity:0;transition:opacity .22s ease}
.ag-lightbox.is-open{opacity:1}
.ag-lightbox__img{display:block;max-width:100vw;max-height:100vh;width:auto;height:auto;user-select:none;-webkit-user-drag:none;cursor:zoom-in;touch-action:pinch-zoom}
.ag-lightbox.has-loupe .ag-lightbox__img{cursor:zoom-out}
.ag-lightbox__close{position:fixed;top:18px;right:20px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:background .2s;z-index:2}
.ag-lightbox__close:hover{background:rgba(255,255,255,.22)}
.ag-lightbox__close:focus-visible{outline:2px solid #FFD21A;outline-offset:3px}
.ag-lightbox__close svg{width:18px;height:18px}
.ag-lightbox__loupe{position:absolute;width:260px;height:260px;border-radius:50%;border:2px solid rgba(255,255,255,.85);box-shadow:0 8px 30px rgba(0,0,0,.6);pointer-events:none;background-repeat:no-repeat;background-color:#0a0907;opacity:0;transition:opacity .18s;will-change:transform,background-position}
.ag-lightbox.has-loupe .ag-lightbox__loupe{opacity:1}
@media (max-width:600px){.ag-lightbox__loupe{width:200px;height:200px}.ag-lightbox__close{top:12px;right:12px;width:40px;height:40px}}

/* ---------- статические страницы (/about, /contacts, /delivery, /faq, /order, /privacy, /terms) ---------- */
.gv-root--page{background:var(--bg);color:var(--fg);min-height:100vh;display:flex;flex-direction:column}
.gv-page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:22px var(--pad) clamp(70px,8vw,120px);font:500 18px/1.6 var(--M)}
.gv-page .gvd-crumb{display:flex;justify-content:space-between;gap:16px;padding:0 150px 14px 0;border-bottom:3px solid var(--fg);font:600 14px/1.2 var(--O);letter-spacing:.14em;text-transform:uppercase}
.gv-page .gvd-crumb__inner{display:flex;gap:10px;align-items:center}
.gv-page .gvd-crumb a{text-decoration:none;border-bottom:2px solid;padding-bottom:1px}
.gv-page .gvd-crumb a:hover{color:var(--acc)}
.gv-page .gvd-crumb__sep{opacity:.5}
.gv-page .gvd-crumb__current{opacity:.75}
.gv-page .gvd-page-body{padding:clamp(28px,4vw,56px) 0 0}
.gv-page .gvd-head{margin-bottom:clamp(32px,4vw,56px)}
.gv-page .gvd-eyebrow{font:600 14px/1.2 var(--O);letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.gv-page .gvd-title,.gv-page h1{margin-top:10px;font:900 clamp(34px,6vw,84px)/.92 var(--U);letter-spacing:-.04em;text-transform:uppercase;overflow-wrap:break-word}
.gv-page .gvd-subtitle{margin-top:16px;font:800 clamp(18px,1.8vw,24px)/1.3 var(--M);opacity:.8}
.gv-page .gvd-section,.gv-page .quality-section{margin-top:clamp(28px,3.5vw,48px)}
.gv-page .quality-lead{font:600 clamp(18px,1.6vw,22px)/1.5 var(--M);max-width:62ch;margin-top:16px}
.gv-page .quality-main,.gv-page .quality-wrap,.gv-page .quality-content{padding:0;margin:0;max-width:none}
.gv-page .quality-title{margin-top:clamp(28px,4vw,56px)}
.gv-page .gvd-section__title,.gv-page .quality-section__title,.gv-page h2{font:900 clamp(22px,2.4vw,34px)/1.05 var(--U);letter-spacing:-.03em;text-transform:uppercase;margin:0 0 14px;padding-top:18px;border-top:3px solid var(--acc)}
.gv-page .gvd-section__sub,.gv-page h3{font:800 18px/1.3 var(--M);margin:20px 0 8px}
.gv-page p{margin:0 0 14px;max-width:62ch}
.gv-page p:last-child{margin-bottom:0}
.gv-page a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.gv-page a:hover{color:var(--fg)}
.gv-page ul,.gv-page ol{margin:0 0 14px;padding-left:1.3em;max-width:62ch}
.gv-page li{margin:6px 0}
.gv-page li::marker{color:var(--acc)}
.gv-page strong{font-weight:800}
.gv-page em{font-style:italic}
.gv-page .gvd-dl{margin:16px 0 0;display:grid;grid-template-columns:150px 1fr;gap:10px 18px;border-top:3px solid var(--fg)}
.gv-page .gvd-dl dt{padding-top:12px;font:600 13px/1.3 var(--O);letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.gv-page .gvd-dl dd{margin:0;padding-top:12px;font:600 17px/1.45 var(--M)}
.gv-page .gvd-dl dd em{display:block;font:500 14px/1.4 var(--M);opacity:.7;font-style:normal}
.gv-page .gvd-note{margin-top:22px;padding:16px 20px;border:3px solid var(--acc);font:500 15px/1.5 var(--M);max-width:62ch}
.gv-page .gvd-note strong{color:var(--acc)}
.gv-page .gvd-foot{margin-top:clamp(36px,5vw,64px);padding-top:18px;border-top:3px solid var(--fg)}
.gv-page .gvd-cta{display:inline-flex;align-items:center;gap:12px;padding:18px 26px;background:var(--acc);color:#121010;text-decoration:none;font:800 16px/1 var(--U);letter-spacing:-.01em;box-shadow:7px 7px 0 #FFF7E6;transition:transform .2s,box-shadow .2s}
.gv-page .gvd-cta:hover{color:#121010;transform:translate(-3px,-3px);box-shadow:10px 10px 0 #FFF7E6}
.gv-page table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:16px}
.gv-page th,.gv-page td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(255,247,230,.3);vertical-align:top}
.gv-page th{font:600 13px/1.3 var(--O);letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.gv-page sup{color:var(--acc)}
.gv-page img{max-width:100%;height:auto}
@media (max-width:760px){
  .gv-page{padding-top:16px;font-size:17px}
  .gv-page .gvd-crumb{padding-right:110px;font-size:12px;flex-wrap:wrap}
  .gv-page .gvd-dl{grid-template-columns:1fr;gap:4px}
  .gv-page .gvd-dl dt{padding-top:12px}.gv-page .gvd-dl dd{padding-top:0;padding-bottom:8px;border-bottom:1px solid rgba(255,247,230,.25)}
  .gv-page .gvd-cta{width:100%;justify-content:center}
}

/* Gallery administrator only; no generic form or product selectors. */
.gp-editor { box-sizing: border-box; max-width: 1240px; margin: 20px auto; padding: 20px; background: #fff7e6; color: #141110; border: 2px solid #141110; scroll-margin-top: 140px; }
.gp-editor summary { cursor: pointer; font-size: 18px; font-weight: 700; }
.gp-editor p { color: #42382e; margin: 16px 0; font-size: 14px; line-height: 1.5; }
.gp-editor__slots { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.gp-photo-form { min-width: 0; display: flex; flex-direction: column; gap: 12px; border: 1px solid #655b4f; padding: 14px; }
.gp-photo-preview { display: block; width: 100%; height: 170px; object-fit: contain; background: #fff; }
.gp-photo-preview[hidden] { display: none; }
.gp-photo-form label { display: grid; gap: 8px; font-size: 14px; color: #141110; }
.gp-photo-form input { max-width: 100%; min-width: 0; color: #141110; font: inherit; }
.gp-photo-form button { background: #ffda16; color: #141110; border: 2px solid #141110; padding: 12px; font-weight: 700; cursor: pointer; }
.gp-photo-form button:disabled { background: #e6ded0; color: #62594c; cursor: default; }
.gp-photo-form button:focus-visible, .gp-editor summary:focus-visible { outline: 3px solid #b52519; outline-offset: 3px; }
.gp-photo-status { font-size: 14px; color: #542119; overflow-wrap: anywhere; }
@media (max-width: 600px) { .gp-editor { margin: 12px; padding: 14px; } }
