/* Gallery page — approved public presentation. */
body[data-public-page="gallery"] #gallery{min-height:calc(100vh - 76px);background:#f3f7fa}
body[data-public-page="gallery"] .galleryHero{
  min-height:323px;box-sizing:border-box;padding:82px 7vw 62px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(105deg,#292d72 0%,#264980 37%,#2384b5 72%,#20a0ca 100%);
}
body[data-public-page="gallery"] .galleryHero:before,
body[data-public-page="gallery"] .galleryHero:after{content:none!important}
body[data-public-page="gallery"] .galleryHero>span,
body[data-public-page="gallery"] .galleryHero>h2,
body[data-public-page="gallery"] .galleryHero>p{position:relative;z-index:5}
body[data-public-page="gallery"] .galleryHero>span{display:block;font-size:10px;letter-spacing:.18em;font-weight:800;color:#60c7ee}
body[data-public-page="gallery"] .galleryHero h2{font-size:clamp(38px,4vw,52px);line-height:1.04;margin:13px 0 10px;max-width:690px;color:#fff}
body[data-public-page="gallery"] .galleryHero p{max-width:650px;color:#edf7fb;font-size:15px;line-height:1.7;margin:0}

/* Demo-style animated logo treatment on the right. */
body[data-public-page="gallery"] .galleryMotion{position:absolute;inset:0 0 0 auto;width:48%;pointer-events:none;z-index:3}
body[data-public-page="gallery"] .galleryLogoDraw{position:absolute;right:5.5%;top:20px;width:380px;height:260px;display:grid;place-items:center}
body[data-public-page="gallery"] .galleryLogoDraw .cleanRoofTrace{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#effbff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 8px #0002);opacity:.92}
body[data-public-page="gallery"] .galleryLogoDraw .cleanRoofTrace path{stroke-dasharray:700;stroke-dashoffset:700;animation:galleryTrace 5.6s ease-in-out infinite}
body[data-public-page="gallery"] .galleryLogoDraw img{width:83%;height:74%;object-fit:contain;opacity:0;animation:galleryLogoReveal 5.6s ease-in-out infinite;filter:drop-shadow(0 14px 20px #0003)}
body[data-public-page="gallery"] .galleryLogoDraw span{position:absolute;bottom:1px;color:#8bd6f0;font-size:9px;font-weight:800;letter-spacing:.19em;opacity:0;animation:galleryTextReveal 5.6s ease-in-out infinite}
@keyframes galleryTrace{0%{stroke-dashoffset:700;opacity:0}10%{opacity:1}52%,82%{stroke-dashoffset:0;opacity:1}100%{opacity:0}}
@keyframes galleryLogoReveal{0%,42%{opacity:0;transform:scale(.94)}60%,85%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes galleryTextReveal{0%,55%{opacity:0}68%,88%{opacity:1}100%{opacity:0}}

body[data-public-page="gallery"] .publicWrap{padding:52px 7vw 85px;max-width:1500px;margin:auto;box-sizing:border-box}
body[data-public-page="gallery"] .galleryIntro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
body[data-public-page="gallery"] .galleryIntro span{font-size:9px;color:var(--sky,#44b0e5);font-weight:800;letter-spacing:.14em}
body[data-public-page="gallery"] .galleryIntro h2{font-size:34px;margin:7px 0 0;color:var(--navy,#272970)}
body[data-public-page="gallery"] .galleryIntro p{margin:0;max-width:540px;color:var(--muted,#68738c);line-height:1.6;text-align:right}

body[data-public-page="gallery"] .albumGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch}
body[data-public-page="gallery"] .albumCard{padding:0!important;margin:0!important;min-width:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px #17204b13;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;opacity:0;transform:translateY(18px)}
body[data-public-page="gallery"] .albumCard.galleryCardIn{opacity:1;transform:translateY(0)}
body[data-public-page="gallery"] .albumCard:hover{transform:translateY(-7px);box-shadow:0 22px 45px #17204b20}
body[data-public-page="gallery"] .albumCard>a{display:block;color:inherit;text-decoration:none;height:100%}
body[data-public-page="gallery"] .albumMosaic{height:310px;display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;gap:3px;padding:3px;background:#fff;box-sizing:border-box}
body[data-public-page="gallery"] .albumMosaic i{display:block;position:relative;overflow:hidden;background:linear-gradient(145deg,#44b0e5,#272970);background-size:cover;background-position:center}
body[data-public-page="gallery"] .albumMosaic i:first-child{grid-row:span 2}
body[data-public-page="gallery"] .albumMosaic i:not([style]):after{content:"";position:absolute;width:55px;height:55px;border-radius:50%;background:var(--orange,#ed6d26);left:30%;top:25%;box-shadow:45px 34px 0 #ffffff99}
body[data-public-page="gallery"] .albumMosaic.tone2 i{background-image:linear-gradient(145deg,#b8d5e2,#4389a8)}
body[data-public-page="gallery"] .albumMeta{padding:20px 22px 23px!important}
body[data-public-page="gallery"] .albumMeta>span{font-size:9px;color:var(--orange,#ed6d26);font-weight:800;letter-spacing:.12em}
body[data-public-page="gallery"] .albumMeta h3{font-size:23px;line-height:1.15;margin:7px 0;color:#10162c}
body[data-public-page="gallery"] .albumMeta p{color:var(--muted,#68738c);margin:0;line-height:1.55}
body[data-public-page="gallery"] .albumMeta .albumOpen{display:inline-block;margin-top:13px;color:var(--navy,#272970);font-size:12px;font-weight:800}
body[data-public-page="gallery"] .publicEmptyState{grid-column:1/-1}

@media(max-width:900px){
  body[data-public-page="gallery"] .galleryLogoDraw{right:-2%;transform:scale(.88);transform-origin:right center}
}
@media(max-width:780px){
  body[data-public-page="gallery"] .galleryHero{padding:58px 24px 50px;min-height:305px}
  body[data-public-page="gallery"] .galleryHero h2{font-size:38px;max-width:78%}
  body[data-public-page="gallery"] .galleryHero p{max-width:72%}
  body[data-public-page="gallery"] .galleryLogoDraw{opacity:.4;right:-65px;top:16px;transform:scale(.78)}
  body[data-public-page="gallery"] .publicWrap{padding:38px 22px 70px}
  body[data-public-page="gallery"] .galleryIntro{display:block}
  body[data-public-page="gallery"] .galleryIntro p{text-align:left;margin-top:10px}
  body[data-public-page="gallery"] .albumGrid{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  body[data-public-page="gallery"] .albumMosaic{height:230px}
  body[data-public-page="gallery"] .galleryHero h2,body[data-public-page="gallery"] .galleryHero p{max-width:100%}
  body[data-public-page="gallery"] .galleryMotion{width:100%;opacity:.18}
  body[data-public-page="gallery"] .galleryLogoDraw{right:-90px;transform:scale(.68)}
}
@media(prefers-reduced-motion:reduce){
  body[data-public-page="gallery"] .galleryLogoDraw .cleanRoofTrace path,
  body[data-public-page="gallery"] .galleryLogoDraw img,
  body[data-public-page="gallery"] .galleryLogoDraw span{animation:none!important;opacity:.45;stroke-dashoffset:0}
  body[data-public-page="gallery"] .albumCard{opacity:1;transform:none;transition:none}
}
