/* PGPG Holding Page - refined for approved logo and centred typography. */
* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; background: #000; }
body { color: #fff; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.pgpg-stage { position: relative; isolation: isolate; min-height: 100vh; min-height: 100svh; overflow: hidden; background: #050505; }
.pgpg-background, .pgpg-video, .pgpg-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.pgpg-background { z-index: -3; background-color: #080808; background-position: center; background-size: cover; }
.pgpg-video { z-index: -2; object-fit: cover; object-position: center; pointer-events: none; }
/* Slightly stronger top and footer shading to support the original white transparent logo. */
.pgpg-shade { z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.27), rgba(0,0,0,var(--pgpg-overlay,.44)) 47%, rgba(0,0,0,.72)); }
/* Logo stays steady; JS centres visible Canela glyphs between the visible SVG artwork and the first footer glyph. */
.pgpg-center { position: absolute; inset: 0; z-index: 1; pointer-events: none; animation: pgpg-enter 1.1s ease-out both; }
.pgpg-logo { display: block; position: absolute; top: clamp(48px, 20svh, 190px); left: 50%; transform: translateX(-50%); width: clamp(162px,18vw,226px); height: auto; max-height: min(44svh,352px); object-fit: contain; filter: drop-shadow(0 6px 24px rgba(0,0,0,.20)); }
.pgpg-coming-title { position: absolute; top: 70%; left: 50%; transform: translate(-50%,-50%); width: max-content; max-width: calc(100% - 32px); font-synthesis: none; font-family: 'PGPG Canela', Canela, Georgia, 'Times New Roman', serif; font-size: clamp(23px,2.05vw,31px); font-weight: 400; line-height: 1.2; letter-spacing: 0; text-align: center; margin: 0; text-transform: none; text-shadow: 0 2px 20px rgba(0,0,0,.48); }
.pgpg-registration { font-synthesis: none; position: absolute; z-index: 1; left: 20px; right: 20px; bottom: calc(38px + env(safe-area-inset-bottom, 0px)); font-family: 'PGPG Inter', Inter, Arial, Helvetica, sans-serif; font-size: clamp(10px,.96vw,12px); font-weight: 400; letter-spacing: .035em; line-height: 1.8; text-align: center; color: rgba(255,255,255,.94); text-shadow: 0 2px 12px rgba(0,0,0,.72); }
.pgpg-preview-badge { position: absolute; z-index: 5; top: 22px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 24px); padding: 9px 15px; border: 1px solid rgba(255,255,255,.38); background: rgba(0,0,0,.7); color: #fff; border-radius: 3px; text-align: center; letter-spacing: .12em; font: 600 10px/1.5 Arial,sans-serif; }
@keyframes pgpg-enter { from {opacity:0} to {opacity:1} }
@media (max-width: 600px) {
 .pgpg-logo { top: clamp(52px,16svh,140px); width: clamp(142px,39vw,192px); max-height: 40svh; }
 .pgpg-coming-title { font-size: clamp(21px,5.3vw,26px); letter-spacing: 0; }
 .pgpg-registration { bottom: calc(30px + env(safe-area-inset-bottom, 0px)); font-size: 10px; padding: 0 8px; line-height: 1.85; }
 .pgpg-preview-badge { top: 14px; font-size: 9px; }
}
@media (max-height: 490px) and (orientation: landscape) {
 .pgpg-logo { top: 20px; width: auto; height: min(43svh,160px); }
 .pgpg-registration { bottom: calc(12px + env(safe-area-inset-bottom,0px)); }
 .pgpg-coming-title { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) { .pgpg-video { display: none !important; } .pgpg-center { animation: none; } }
/* Private diagnostics only (not visible to public visitors) */
.pgpg-font-panel { position: fixed; z-index: 20; right: 14px; bottom: 14px; width: min(480px,calc(100vw - 28px)); padding: 15px 17px; color: #f5f5f5; background: rgba(12,12,12,.96); border: 1px solid rgba(255,255,255,.38); font: 400 12px/1.55 Arial,sans-serif; box-shadow: 0 8px 36px rgba(0,0,0,.4); }
.pgpg-font-panel strong { display: block; font: 700 12px/1.4 Arial,sans-serif; letter-spacing: .08em; }
.pgpg-font-panel strong span { font-weight: 400; color: #aaa; margin-left: 6px; }
.pgpg-font-panel p { margin: 7px 0; overflow-wrap: anywhere; }
.pgpg-font-panel small { color: #c6c6c6; display: block; margin-top: 8px; }
.pgpg-font-ok { color: #96d9ad; } .pgpg-font-fail { color: #ff9b9b; }
@media(max-width:640px) { .pgpg-font-panel { right: 10px; bottom: 10px; font-size: 10px; padding: 10px 12px; } }

/* These alignment guides are created only in the administrator's explicit private QA preview. */
.pgpg-layout-guide { position:fixed; z-index:35; left:0; right:0; border-top:1px solid; pointer-events:none; }
.pgpg-layout-panel { position:fixed; z-index:36; top:12px; left:12px; width:min(360px,calc(100vw - 24px)); padding:13px 15px; background:rgba(0,0,0,.87); color:#fff; border:1px solid rgba(255,255,255,.5); white-space:pre-line; font:500 11px/1.65 monospace; pointer-events:none; }
@media(max-width:600px){.pgpg-layout-panel{top:7px;left:7px;padding:8px 10px;font-size:9px;}}
