:root{
  --pp-bg:#070706;--pp-bg-soft:#0b0a09;--pp-panel:#0f0e0c;--pp-panel-2:#151310;
  --pp-text:#f3efe7;--pp-soft:#aaa198;--pp-faint:#746d66;--pp-line:rgba(243,239,231,.12);
  --pp-gold:#c9a46a;--pp-gold-2:#e0c38e;--pp-gold-veil:rgba(201,164,106,.12);
  --pp-yellow:#d1a531;--pp-green:#579d70;--pp-red:#c2605b;--pp-radius:22px;
  --pp-shadow:0 28px 80px rgba(0,0,0,.30);--pp-display:"Bodoni Moda","Times New Roman",serif;
  --pp-body:Manrope,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html.pp-standalone,body.pp-standalone-body{margin:0;min-height:100%;background:var(--pp-bg);color:var(--pp-text);overscroll-behavior:none}
body.pp-standalone-body{min-height:100vh;min-height:100svh;overflow-x:hidden}
body.pp-standalone-body>a,body.pp-standalone-body>header,body.pp-standalone-body>footer{display:none!important}
.pp-standalone-body .pp-shell,.pp-standalone-body .pp-login-shell{width:100%;margin:0}

html[data-theme="light"]{
  --pp-bg:#f4efe7;--pp-bg-soft:#eee7dc;--pp-panel:#fffaf3;--pp-panel-2:#ebe2d5;
  --pp-text:#171411;--pp-soft:#655e57;--pp-faint:#877f77;--pp-line:rgba(23,20,17,.14);
  --pp-gold:#9f7337;--pp-gold-2:#7e5727;--pp-gold-veil:rgba(159,115,55,.12);
  --pp-shadow:0 24px 64px rgba(93,68,39,.12);
}

.pixelpick-portal-button{display:inline-flex;align-items:center;justify-content:center;padding:.82rem 1.05rem;border:1px solid color-mix(in srgb,var(--pp-gold) 62%,transparent);color:inherit;text-decoration:none;letter-spacing:.12em;text-transform:uppercase;font:700 .7rem/1 var(--pp-body)}
.pp-shell,.pp-login-shell{font-family:var(--pp-body);color:var(--pp-text);background:var(--pp-bg);min-height:100vh;min-height:100svh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .32s ease,color .32s ease}
.pp-shell *,.pp-login-shell *{box-sizing:border-box}.pp-shell a,.pp-login-shell a{color:inherit}.pp-shell button,.pp-shell input,.pp-shell textarea,.pp-shell select,.pp-login-shell button,.pp-login-shell input{font:inherit}.pp-shell ::selection,.pp-login-shell ::selection{background:var(--pp-gold);color:#111}

/* Login / first password */
.pp-login-shell{position:relative;display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(400px,.95fr);overflow:hidden}
.pp-login-art{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2.4rem,6vw,7rem);background:radial-gradient(circle at 28% 22%,var(--pp-gold-veil),transparent 28%),linear-gradient(145deg,var(--pp-bg),var(--pp-panel-2));overflow:hidden}
.pp-login-art:before{content:"";position:absolute;inset:8%;border:1px solid var(--pp-line);pointer-events:none}
.pp-login-art:after{content:"";position:absolute;width:60vw;height:60vw;left:-24%;top:-31%;border:1px solid color-mix(in srgb,var(--pp-gold) 18%,transparent);border-radius:50%;filter:blur(.2px)}
.pp-login-art span{position:relative;z-index:1;font:500 clamp(3.8rem,9vw,9rem)/.82 var(--pp-display);letter-spacing:-.05em;font-optical-sizing:auto}
.pp-login-art small{position:relative;z-index:1;margin-top:1.2rem;letter-spacing:.28em;color:var(--pp-gold);font-size:.64rem;font-weight:800}
.pp-login-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,6rem);max-width:760px}
.pp-eyebrow{display:block;color:var(--pp-gold);font-size:.66rem;letter-spacing:.2em;font-weight:800;text-transform:uppercase;margin-bottom:1rem}
.pp-login-card h1,.pp-project-hero h1{font-family:var(--pp-display);font-optical-sizing:auto;font-weight:400;letter-spacing:-.025em}
.pp-section-head h2{font-family:var(--pp-body);font-weight:600;letter-spacing:-.026em}
.pp-login-card h1{font-size:clamp(2.65rem,4.7vw,4.65rem);line-height:1.03;margin:0 0 1.35rem;max-width:10ch}
.pp-login-card>p{color:var(--pp-soft);font-size:1rem;line-height:1.78;max-width:610px;margin:0 0 1.8rem}
.pp-form{display:grid;gap:1rem}.pp-form label{display:grid;gap:.55rem}.pp-form label>span{font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--pp-soft);font-weight:800}
.pp-form input,.pp-form textarea,.pp-form select{width:100%;border:1px solid var(--pp-line);background:var(--pp-bg-soft);color:var(--pp-text);padding:1rem 1.05rem;border-radius:8px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.pp-form textarea{resize:vertical}.pp-form input:focus,.pp-form textarea:focus,.pp-form select:focus{border-color:color-mix(in srgb,var(--pp-gold) 82%,transparent);box-shadow:0 0 0 4px var(--pp-gold-veil)}
.pp-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:.65rem!important}.pp-check input{width:18px!important;height:18px;margin:0;accent-color:var(--pp-gold)}.pp-check span{text-transform:none!important;letter-spacing:0!important;font-size:.82rem!important}
.pp-primary{border:1px solid var(--pp-gold);background:var(--pp-gold);color:#16110b;padding:1rem 1.25rem;min-height:52px;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:900;cursor:pointer;border-radius:7px;transition:transform .2s,background .2s,box-shadow .2s,opacity .2s}
.pp-primary:hover{transform:translateY(-1px);background:var(--pp-gold-2);box-shadow:0 14px 40px var(--pp-gold-veil)}.pp-primary:disabled{opacity:.55;cursor:wait;transform:none}
.pp-primary:focus-visible,.pp-portal-nav button:focus-visible,.pp-star:focus-visible,.pp-logout:focus-visible,.pp-theme-toggle:focus-visible{outline:2px solid var(--pp-gold-2);outline-offset:3px}
.pp-subtle-link{margin-top:1rem;color:var(--pp-soft)!important;font-size:.8rem;text-decoration:none}.pp-alert{padding:.9rem 1rem;border:1px solid var(--pp-line);margin-bottom:1rem;font-size:.86rem;border-radius:8px}.pp-alert-error{border-color:rgba(194,96,91,.48);background:rgba(194,96,91,.08)}
.pp-password-meter{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:.8rem}.pp-password-meter>i{height:4px;background:var(--pp-line);position:relative;overflow:hidden;border-radius:99px}.pp-password-meter>i:after{content:"";position:absolute;inset:0;transform:scaleX(var(--pp-strength,0));transform-origin:left;background:var(--pp-gold);transition:transform .2s}.pp-password-meter span{font-size:.72rem;color:var(--pp-soft);line-height:1.4}.pp-password-feedback{font-size:.78rem;line-height:1.5;min-height:1.2em;color:var(--pp-soft)}.pp-password-feedback.is-error{color:var(--pp-red)}.pp-password-feedback.is-ok{color:var(--pp-green)}

/* shared theme toggle */
.pp-theme-toggle{appearance:none;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--pp-line);border-radius:50%;background:var(--pp-panel);color:var(--pp-text);cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.pp-theme-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--pp-gold) 70%,transparent);box-shadow:0 8px 26px var(--pp-gold-veil)}.pp-theme-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
.pp-login-theme{position:absolute;right:1.25rem;top:1.25rem;z-index:5}

/* client shell */
.pp-topbar{width:min(1500px,calc(100% - 4rem));margin:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--pp-line)}
.pp-wordmark{text-decoration:none;font:500 1.35rem/.9 var(--pp-display);letter-spacing:.16em}.pp-wordmark small{display:block;margin-top:.45rem;font:800 .48rem/1 var(--pp-body);letter-spacing:.26em;color:var(--pp-gold)}
.pp-account{display:flex;align-items:center;gap:.8rem;color:var(--pp-soft);font-size:.8rem}.pp-account-actions{display:flex;align-items:center;gap:.55rem}.pp-logout{text-decoration:none;border:1px solid var(--pp-line);padding:.7rem .85rem;border-radius:999px;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;color:var(--pp-text)!important}
.pp-project-switcher{width:min(1500px,calc(100% - 4rem));margin:1.2rem auto;display:flex;gap:1rem;align-items:center;color:var(--pp-soft);font-size:.72rem}.pp-project-switcher>span{text-transform:uppercase;letter-spacing:.13em}.pp-project-switcher>div{display:flex;gap:.5rem;flex-wrap:wrap}.pp-project-switcher a{text-decoration:none;padding:.35rem .7rem .35rem .35rem;border:1px solid var(--pp-line);border-radius:999px;display:flex;align-items:center;gap:.55rem}.pp-project-switcher a img{width:34px;height:34px;border-radius:50%;object-fit:cover}.pp-project-switcher a.active{border-color:var(--pp-gold);color:var(--pp-gold);background:var(--pp-gold-veil)}
.pp-project-hero{width:min(1500px,calc(100% - 4rem));margin:3.4rem auto 2rem;display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:end}.pp-project-hero-image{width:160px;height:120px;border-radius:18px;object-fit:cover;box-shadow:var(--pp-shadow)}.pp-project-hero-image-empty{display:grid;place-items:center;border:1px solid var(--pp-line);background:var(--pp-panel);color:var(--pp-soft);font-size:.68rem;letter-spacing:.16em}.pp-project-hero h1{font-size:clamp(3rem,5.7vw,6.1rem);line-height:.98;margin:0;max-width:1000px}.pp-project-hero p{color:var(--pp-soft);font-size:1rem}.pp-booking-card{min-width:300px;border-left:1px solid var(--pp-gold);padding:1rem 0 1rem 1.5rem;display:grid;gap:.45rem}.pp-booking-card span{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--pp-soft)}.pp-booking-card strong{font:500 1.45rem/1.12 var(--pp-display)}.pp-booking-card small{color:var(--pp-soft)}

/* floating segmented navigation inspired by premium app docks */
.pp-portal-nav{position:sticky;top:14px;z-index:30;width:min(820px,calc(100% - 2rem));margin:0 auto 3rem;padding:7px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;border:1px solid var(--pp-line);border-radius:32px;background:color-mix(in srgb,var(--pp-panel) 88%,transparent);backdrop-filter:blur(22px) saturate(135%);box-shadow:0 18px 50px rgba(0,0,0,.20)}
.pp-portal-nav button{position:relative;min-width:0;border:0;border-radius:25px;background:transparent;color:var(--pp-soft);padding:.72rem .45rem .68rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;letter-spacing:.035em;font-size:.62rem;font-weight:700;transition:color .22s,background .22s,transform .22s,box-shadow .22s}
.pp-portal-nav button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .22s}.pp-portal-nav button .pp-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pp-portal-nav button.active{color:var(--pp-text);background:linear-gradient(145deg,var(--pp-gold-veil),color-mix(in srgb,var(--pp-panel-2) 70%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pp-gold) 38%,transparent),0 10px 30px var(--pp-gold-veil);transform:translateY(-2px)}
.pp-portal-nav button.active svg{color:var(--pp-gold);transform:scale(1.06)}.pp-portal-nav button.active:before{content:"";position:absolute;top:5px;width:20px;height:8px;border-radius:50%;background:var(--pp-gold);filter:blur(12px);opacity:.22;pointer-events:none}.pp-portal-nav em{position:absolute;right:18%;top:7px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border-radius:99px;background:var(--pp-gold);color:#16110b;font:900 .54rem/1 var(--pp-body);font-style:normal}

.pp-portal-main{width:min(1500px,calc(100% - 4rem));margin:0 auto;padding-bottom:8rem}.pp-panel{display:none}.pp-panel.active{display:block;animation:ppFade .32s ease both}@keyframes ppFade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.pp-grid{display:grid;gap:1rem}.pp-grid-overview{grid-template-columns:1.35fr 1fr 1fr;margin-bottom:4.5rem}.pp-card{border:1px solid var(--pp-line);background:linear-gradient(145deg,color-mix(in srgb,var(--pp-panel) 96%,white 4%),var(--pp-panel));padding:1.5rem;min-height:150px;border-radius:16px;box-shadow:inset 0 1px rgba(255,255,255,.018)}
.pp-card-label{display:block;color:var(--pp-gold);font-size:.6rem;letter-spacing:.16em;font-weight:800;margin-bottom:1.2rem}.pp-card-value{display:block;font:500 clamp(1.7rem,2.7vw,3rem)/1.03 var(--pp-display);margin-bottom:.7rem}.pp-card small{color:var(--pp-soft);font-size:.78rem}.pp-progress-card{display:flex;flex-direction:column}.pp-progress-head{display:flex;align-items:end;justify-content:space-between;margin:auto 0 1rem}.pp-progress-head strong{font:500 3.1rem/1 var(--pp-display)}.pp-progress-head span{color:var(--pp-soft);font-size:.75rem}.pp-progress{height:3px;background:var(--pp-line);overflow:hidden;border-radius:99px}.pp-progress i{display:block;height:100%;background:var(--pp-gold);box-shadow:0 0 18px var(--pp-gold-veil)}
.pp-section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin:0 0 2rem}.pp-section-head h2{font-size:clamp(2rem,3.3vw,3.5rem);line-height:1.12;margin:0;max-width:900px}.pp-section-head p{color:var(--pp-soft);max-width:650px;line-height:1.7}.pp-status-legend{display:flex;gap:.8rem;flex-wrap:wrap}.pp-status-legend span{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}.pp-status-legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.4rem}.pp-status-legend .started:before{background:var(--pp-yellow)}.pp-status-legend .done:before{background:var(--pp-green)}.pp-status-legend .delayed:before{background:var(--pp-red)}
.pp-timeline{border-top:1px solid var(--pp-line)}.pp-step{display:grid;grid-template-columns:70px 1fr auto auto;align-items:center;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--pp-line)}.pp-step-number{color:var(--pp-gold);font:500 1.05rem/1 var(--pp-display)}.pp-step h3{font-size:1rem;margin:0;font-weight:650;line-height:1.35}.pp-step p{margin:.35rem 0 0;color:var(--pp-soft);font-size:.8rem;line-height:1.55}.pp-step small{color:var(--pp-soft);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em}.pp-status-dot{width:9px;height:9px;border-radius:50%;background:var(--pp-line);box-shadow:0 0 0 5px transparent}.status-started .pp-status-dot{background:var(--pp-yellow);box-shadow:0 0 0 5px rgba(209,165,49,.09)}.status-done .pp-status-dot{background:var(--pp-green);box-shadow:0 0 0 5px rgba(87,157,112,.09)}.status-delayed .pp-status-dot{background:var(--pp-red);box-shadow:0 0 0 5px rgba(194,96,91,.09)}

.pp-selection-total{border-left:1px solid var(--pp-gold);padding-left:1rem;display:grid}.pp-selection-total span{font-size:.6rem;color:var(--pp-soft);text-transform:uppercase;letter-spacing:.12em}.pp-selection-total strong{font:500 2.3rem/1 var(--pp-display);color:var(--pp-gold)}
.pp-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pp-gallery-item{margin:0;min-width:0}.pp-image-wrap{position:relative;aspect-ratio:4/5;background:var(--pp-panel);overflow:hidden;border:1px solid transparent}.pp-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .3s}.pp-gallery-item:hover .pp-image-wrap img{transform:scale(1.012)}.pp-gallery-item.selected .pp-image-wrap{border-color:var(--pp-gold);box-shadow:0 0 0 1px var(--pp-gold),0 18px 50px var(--pp-gold-veil)}.pp-star{position:absolute;right:10px;top:10px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(7,7,6,.72);color:#fff;display:grid;place-items:center;font-size:1.25rem;cursor:pointer;backdrop-filter:blur(10px)}.pp-gallery-item.selected .pp-star{background:var(--pp-gold);color:#16110b;border-color:var(--pp-gold)}.pp-selection-index{position:absolute;top:10px;left:10px;min-width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(7,7,6,.76);color:#fff;font:700 .72rem/1 var(--pp-body);backdrop-filter:blur(10px)}.pp-selection-index:empty{display:none}.pp-gallery-item figcaption{padding:.55rem .1rem;color:var(--pp-soft);font-size:.63rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-gallery-savebar{position:sticky;bottom:18px;margin:2rem auto 0;width:min(680px,100%);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .75rem .75rem 1.1rem;background:color-mix(in srgb,var(--pp-panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--pp-gold) 28%,transparent);border-radius:18px;backdrop-filter:blur(18px);box-shadow:var(--pp-shadow);z-index:15}.pp-gallery-savebar span{font-size:.78rem}.pp-gallery-savebar strong{font:500 1.35rem/1 var(--pp-display);color:var(--pp-gold);margin-right:.3rem}

.pp-thread{display:grid;gap:.8rem;max-width:900px;margin-bottom:2rem}.pp-message{max-width:78%;padding:1rem 1.15rem;border:1px solid var(--pp-line);background:var(--pp-panel);border-radius:16px}.pp-message.admin{margin-right:auto;border-left-color:var(--pp-gold)}.pp-message.mine{margin-left:auto;background:var(--pp-panel-2)}.pp-message small{color:var(--pp-soft);font-size:.62rem;letter-spacing:.06em}.pp-message p{line-height:1.68;margin:.55rem 0 0;font-size:.94rem}.pp-message-form{max-width:900px;border-top:1px solid var(--pp-line);padding-top:1.5rem}.pp-message-state{font-size:.72rem;min-height:1em;color:var(--pp-soft)}
.pp-booking-grid{grid-template-columns:.8fr 1.2fr;align-items:start}.pp-request-list{margin-top:2rem;border-top:1px solid var(--pp-line)}.pp-request-list h3{font:500 1.8rem/1.1 var(--pp-display)}.pp-request{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;padding:1rem 0;border-bottom:1px solid var(--pp-line)}.pp-request small{grid-column:1/-1;color:var(--pp-soft)}.pp-request span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.request-approved{color:#78b88e}.request-rejected{color:#cf7772}.request-pending{color:#d9b75b}
.pp-profile-grid{grid-template-columns:1fr 1fr}.pp-profile-card dl,.pp-card dl{margin:0}.pp-card dl>div{display:grid;grid-template-columns:130px 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--pp-line)}.pp-card dl>div:last-child{border-bottom:0}.pp-card dt{color:var(--pp-soft);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.pp-card dd{margin:0;font-size:.87rem}.pp-terms{margin-top:1rem;border:1px solid var(--pp-line);padding:2rem;border-radius:16px;background:var(--pp-panel)}.pp-terms>div{max-width:900px;color:var(--pp-soft);line-height:1.75;font-size:.92rem}.pp-empty{border:1px dashed color-mix(in srgb,var(--pp-text) 18%,transparent);padding:2rem;color:var(--pp-soft);border-radius:14px}.pp-empty.compact{padding:1rem}.pp-empty-large{width:min(900px,calc(100% - 3rem));margin:10vh auto;padding:4rem}.pp-empty-large h1{font:500 clamp(2.8rem,6vw,6rem)/.98 var(--pp-display);margin:.5rem 0}

@media(max-width:1050px){.pp-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-grid-overview{grid-template-columns:1fr 1fr}.pp-progress-card{grid-column:1/-1}.pp-project-hero{grid-template-columns:1fr}.pp-booking-card{min-width:0}.pp-section-head{align-items:start;flex-direction:column}.pp-profile-grid,.pp-booking-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .pp-login-shell{grid-template-columns:1fr}.pp-login-art{min-height:27svh;padding:2rem}.pp-login-art:before{inset:1rem}.pp-login-art span{font-size:clamp(3.4rem,17vw,5.6rem)}.pp-login-card{padding:2rem 1.35rem 3rem}.pp-login-card h1{font-size:clamp(2.6rem,11vw,3.7rem);max-width:11ch}.pp-login-card>p{font-size:.95rem}.pp-login-theme{right:1rem;top:1rem}
  .pp-topbar{width:calc(100% - 2rem);min-height:78px}.pp-wordmark{font-size:1rem}.pp-account>span{display:none}.pp-logout{padding:.62rem .7rem}.pp-theme-toggle{width:38px;height:38px}
  .pp-project-switcher,.pp-project-hero,.pp-portal-main{width:calc(100% - 2rem)}.pp-project-hero{margin-top:2.2rem;gap:1.5rem}.pp-project-hero h1{font-size:clamp(2.8rem,12.5vw,4rem);line-height:.96}.pp-booking-card strong{font-size:1.28rem}
  .pp-portal-main{padding-bottom:8.5rem}.pp-portal-nav{position:fixed;left:50%;transform:translateX(-50%);top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:min(560px,calc(100% - 1.2rem));margin:0;padding:6px;border-radius:28px;box-shadow:0 18px 65px rgba(0,0,0,.38)}.pp-portal-nav button{padding:.62rem .24rem .58rem;font-size:.53rem}.pp-portal-nav button.active{transform:translateY(-2px)}.pp-portal-nav button svg{width:17px;height:17px}.pp-portal-nav em{right:10%;top:5px}
  .pp-grid-overview{grid-template-columns:1fr;margin-bottom:3rem}.pp-section-head h2{font-size:clamp(2.35rem,10.5vw,3.4rem)}.pp-status-legend{display:none}.pp-step{grid-template-columns:42px 1fr auto;gap:.65rem}.pp-step small{display:none}.pp-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pp-gallery-item figcaption{display:none}.pp-star{width:38px;height:38px;top:8px;right:8px}.pp-selection-index{top:8px;left:8px}.pp-gallery-savebar{bottom:98px}.pp-message{max-width:90%}.pp-card{padding:1.15rem}.pp-terms{padding:1.2rem}.pp-card dl>div{grid-template-columns:100px 1fr}.pp-empty-large{padding:2rem;margin-top:8vh}
}
@media(max-width:390px){.pp-portal-nav button .pp-nav-label{font-size:.49rem}.pp-wordmark small{letter-spacing:.2em}.pp-login-card h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.pp-panel.active,.pp-primary,.pp-image-wrap img,.pp-portal-nav button,.pp-theme-toggle{animation:none!important;transition:none!important}}

/* v2.2 standalone client surface */
.pp-standalone-body .pp-topbar{position:relative;z-index:50}
.pp-standalone-body .pp-portal-nav{isolation:isolate}
.pp-standalone-body .pp-portal-nav button.active:after{content:"";position:absolute;inset:auto 28% -2px;height:2px;border-radius:99px;background:var(--pp-gold);box-shadow:0 0 18px color-mix(in srgb,var(--pp-gold) 72%,transparent)}
.pp-standalone-body .pp-login-card,.pp-standalone-body .pp-card,.pp-standalone-body .pp-portal-nav{backdrop-filter:saturate(120%) blur(18px)}


/* consent surface — same choices as public site */
.pp-cookie-banner{position:fixed;z-index:2000;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(1040px,calc(100% - 2rem));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:center;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--pp-gold) 35%,transparent);border-radius:18px;background:color-mix(in srgb,var(--pp-panel) 94%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.32);backdrop-filter:blur(22px) saturate(130%)}
.pp-cookie-banner[hidden]{display:none}.pp-cookie-banner strong{display:block;font-size:.86rem}.pp-cookie-banner p{margin:.28rem 0 0;color:var(--pp-soft);font-size:.72rem;line-height:1.5}.pp-cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap}.pp-cookie-actions button,.pp-cookie-settings{appearance:none;border:1px solid var(--pp-line);background:var(--pp-bg-soft);color:var(--pp-text);min-height:40px;padding:.62rem .8rem;border-radius:999px;cursor:pointer;font-size:.62rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.pp-cookie-actions button:hover,.pp-cookie-actions button:focus-visible,.pp-cookie-settings:hover,.pp-cookie-settings:focus-visible{border-color:var(--pp-gold);box-shadow:0 0 0 3px var(--pp-gold-veil);outline:none}.pp-cookie-settings{position:fixed;z-index:1800;left:1rem;bottom:1rem;min-height:34px;padding:.5rem .68rem;background:color-mix(in srgb,var(--pp-panel) 90%,transparent);backdrop-filter:blur(16px)}
.pp-cookie-banner:not([hidden])~.pp-cookie-settings{opacity:0;pointer-events:none}.pp-cookie-dialog{width:min(620px,calc(100% - 2rem));padding:0;border:1px solid var(--pp-line);border-radius:20px;background:var(--pp-panel);color:var(--pp-text);box-shadow:var(--pp-shadow)}.pp-cookie-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.pp-cookie-inner{padding:2rem}.pp-cookie-inner h2{margin:.25rem 0 .75rem;font:500 clamp(2rem,5vw,3.4rem)/1 var(--pp-display)}.pp-cookie-inner>p{color:var(--pp-soft);line-height:1.65}.pp-cookie-close{position:absolute;right:.8rem;top:.8rem;width:38px;height:38px;border-radius:50%;border:1px solid var(--pp-line);background:var(--pp-bg-soft);color:var(--pp-text);cursor:pointer;font-size:1.25rem}.pp-cookie-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--pp-line)}.pp-cookie-row strong{display:block;font-size:.8rem}.pp-cookie-row small{display:block;margin-top:.2rem;color:var(--pp-soft);font-size:.7rem;line-height:1.45}.pp-cookie-row input{width:20px;height:20px;accent-color:var(--pp-gold)}.pp-cookie-note{font-size:.7rem!important}.pp-cookie-dialog .pp-cookie-actions{margin-top:1.25rem}
@media(max-width:760px){.pp-cookie-banner{grid-template-columns:1fr;gap:.8rem}.pp-cookie-actions{display:grid;grid-template-columns:1fr}.pp-cookie-actions button{width:100%}.pp-cookie-settings{bottom:94px}.pp-cookie-inner{padding:1.5rem 1.1rem}.pp-cookie-dialog{width:calc(100% - 1.2rem)}}

/* v2.5 live notification refinements */
[data-pp-notification-badge]{min-width:1.28rem;height:1.28rem;padding:0 .32rem;border-radius:999px;background:var(--pp-accent,#c9a66b);color:#090806;display:inline-grid;place-items:center;font:700 .64rem/1 sans-serif;margin-left:.35rem}
[data-pp-notification-badge][hidden]{display:none!important}
.pp-live-toast{position:fixed;right:1rem;bottom:1rem;z-index:9999;max-width:min(360px,calc(100vw - 2rem));padding:.9rem 1.1rem;border:1px solid color-mix(in srgb,var(--pp-accent,#c9a66b) 55%,transparent);background:rgba(12,11,10,.96);color:#f5f1e9;box-shadow:0 20px 70px rgba(0,0,0,.35);opacity:0;transform:translateY(12px);pointer-events:none;transition:.28s ease;font:600 .82rem/1.4 system-ui,sans-serif}.pp-live-toast.show{opacity:1;transform:none}
html[data-theme="light"] .pp-live-toast{background:rgba(250,247,241,.98);color:#171411}

/* v2.6 gallery controls, watermark and zoom */
button.pp-image-wrap{appearance:none;padding:0;width:100%;display:block;color:inherit;cursor:zoom-in;text-align:inherit}
.pp-gallery-item figcaption{padding:.55rem .15rem .35rem}
.pp-watermark,.pp-lightbox-watermark{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;user-select:none;color:#fff;font-family:var(--pp-display);font-size:clamp(1.8rem,4vw,3.8rem);letter-spacing:.08em;opacity:.13;text-shadow:0 1px 18px rgba(0,0,0,.35);transform:rotate(-18deg)}
.pp-zoom-hint{position:absolute;right:10px;bottom:10px;padding:.4rem .55rem;border-radius:999px;background:rgba(7,7,6,.64);color:#fff;font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.pp-image-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:.15rem 0 .65rem}
.pp-image-option{appearance:none;border:1px solid var(--pp-line);border-radius:999px;background:var(--pp-panel);color:var(--pp-soft);min-height:34px;padding:.45rem .55rem;font:750 .58rem/1 var(--pp-body);letter-spacing:.045em;cursor:pointer;transition:.2s ease}
.pp-image-option:hover,.pp-image-option:focus-visible{border-color:var(--pp-gold);color:var(--pp-text);outline:none}
.pp-image-option.active{background:var(--pp-gold);border-color:var(--pp-gold);color:#17110a;box-shadow:0 7px 24px var(--pp-gold-veil)}
.pp-selection-index{z-index:4}.pp-gallery-item.selected .pp-image-wrap{border-color:color-mix(in srgb,var(--pp-gold) 72%,transparent)}
.pp-lightbox{width:min(96vw,1500px);height:min(94vh,1100px);padding:0;border:1px solid var(--pp-line);background:#080807;color:#fff;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.65)}
.pp-lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}
.pp-lightbox-stage{position:absolute;inset:0 0 64px;overflow:auto;display:grid;place-items:center;background:#080807}
.pp-lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .18s ease;user-select:none;-webkit-user-drag:none}
.pp-lightbox-watermark{z-index:2;font-size:clamp(3rem,9vw,8rem);opacity:.12}
.pp-lightbox-close{position:absolute;z-index:5;right:14px;top:14px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.58);color:#fff;font-size:1.5rem;cursor:pointer}
.pp-lightbox-tools{position:absolute;z-index:5;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;gap:.45rem;padding:.45rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(0,0,0,.7);backdrop-filter:blur(15px)}
.pp-lightbox-tools button{border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;border-radius:999px;min-width:38px;height:38px;padding:0 .75rem;cursor:pointer}.pp-lightbox-tools span{min-width:54px;text-align:center;font-size:.68rem}
.pp-print-dialog{width:min(560px,calc(100% - 2rem));border:1px solid var(--pp-line);border-radius:18px;background:var(--pp-panel);color:var(--pp-text);padding:0;box-shadow:var(--pp-shadow)}
.pp-print-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}.pp-print-dialog>div{padding:2rem}.pp-print-dialog h2{font:500 clamp(2.2rem,6vw,3.4rem)/1 var(--pp-display);margin:.35rem 0 1rem}.pp-print-dialog p{color:var(--pp-soft);line-height:1.7}
@media(max-width:760px){.pp-image-actions{grid-template-columns:1fr 1fr}.pp-image-option{font-size:.52rem;min-height:32px}.pp-zoom-hint{display:none}.pp-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;border:0}.pp-lightbox-stage{inset:0 0 72px}.pp-lightbox-tools{bottom:max(12px,env(safe-area-inset-bottom));width:max-content}.pp-gallery-item figcaption{display:block;font-size:.55rem}.pp-watermark{font-size:1.55rem}}
