/* ================================================================
   PGF ACCOUNT 01B — CREATE MY ARCHIVE
   Scoped entirely to the Create My Archive page. Loaded only when
   is_page('create-my-archive') is true (see functions.php).
   Environment: a softer cream/blush paper world — deliberately
   gentler than Archive Access's saturated pink wall.

   VISUAL REFINEMENT PASS: the dossier is now a layered paper object
   (stacked sheets, right-edge index tabs, square personnel
   portrait, gripping paperclip, ink stamps) rather than a single
   rectangular container. The six registration fields are untouched.
   ================================================================ */

.pgf-archive-page {
    --pgfa-cream: #FBEDE2;
    --pgfa-cream-deep: #F4E3D2;
    --pgfa-sheet: #FDF6EE;
    --pgfa-sheet-2: #F2DFCB;
    --pgfa-sheet-3: #E9D2BB;
    --pgfa-blush: #F6D3E0;
    --pgfa-pink: #E72A76;
    --pgfa-pink-deep: #B8195C;
    --pgfa-pink-soft: #E58AB0;
    --pgfa-wine: #7A1030;
    --pgfa-brass: #C89456;
    --pgfa-champagne: #E0BC8E;
    --pgfa-ink: #241017;
    --pgfa-line: rgba(28,20,20,0.14);
    --pgfa-green: #3E7A57;

    position: relative;
    overflow-x: hidden;
    background: var(--pgfa-cream);
    padding: clamp(2.25rem, 5vw, 4.25rem) 1.25rem clamp(3rem, 6vw, 5rem);
    color: var(--pgfa-ink);
}

/* soft paper grain and faint blush blooms — never grungy */
.pgf-archive-page::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(ellipse 50% 40% at 8% 4%, rgba(255,255,255,0.75), transparent 70%),
        radial-gradient(ellipse 40% 30% at 92% 88%, rgba(231,42,118,0.055), transparent 70%),
        radial-gradient(ellipse 30% 26% at 74% 12%, rgba(231,42,118,0.04), transparent 70%),
        repeating-linear-gradient(102deg, rgba(122,16,48,0.022) 0px, rgba(122,16,48,0.022) 1px, transparent 1px, transparent 5px),
        repeating-linear-gradient(14deg, rgba(122,16,48,0.016) 0px, rgba(122,16,48,0.016) 1px, transparent 1px, transparent 8px);
}

.pgf-archive-page > * { position: relative; z-index: 1; }

.pgf-archive-page *,
.pgf-archive-page *::before,
.pgf-archive-page *::after { box-sizing: border-box; }

.pgf-archive-wrap { max-width: 1260px; margin: 0 auto; }

.pgf-archive-columns {
    display: grid;
    grid-template-columns: 0.86fr 1.14fr;
    gap: clamp(1.75rem, 4vw, 3.5rem);
    align-items: center;
}

/* ================================================================
   LEFT COLUMN — curated editorial storytelling
   ================================================================ */

.pgf-archive-story { text-align: center; }

.pgf-archive-brand {
    font-family: 'Space Mono', monospace;
    font-size: 0.66rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
    margin: 0 0 1rem;
}
.pgf-archive-brand::before,
.pgf-archive-brand::after {
    content: '—';
    opacity: 0.55;
    margin: 0 0.5em;
}
.pgf-archive-brand em { font-style: italic; }

.pgf-archive-headline {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 700;
    font-size: clamp(1.95rem, 3.4vw, 2.6rem);
    line-height: 1.1;
    margin: 0 0 0.85rem;
    color: var(--pgfa-ink);
}
.pgf-archive-headline em { font-style: italic; color: var(--pgfa-pink-deep); }

.pgf-archive-tagline {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1rem;
    line-height: 1.62;
    color: rgba(36,16,23,0.74);
    max-width: 36ch;
    margin: 0 auto 2.3rem;
}

/* ---- overlapping ink stamps --------------------------------------- */

.pgf-archive-stamp-box {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 0.85rem 1.5rem;
    transform: rotate(-2.5deg);
    opacity: 0.92;
}
/* imperfect double outline — two slightly offset rules read as a
   rubber stamp that didn't land perfectly flat */
.pgf-archive-stamp-box::before,
.pgf-archive-stamp-box::after {
    content: '';
    position: absolute;
    pointer-events: none;
    border: 2px solid var(--pgfa-pink-deep);
    border-radius: 2px;
}
.pgf-archive-stamp-box::before { inset: 0; opacity: 0.85; }
.pgf-archive-stamp-box::after  { inset: 4px 3px 3px 4px; border-width: 1px; opacity: 0.6; }

.pgf-archive-stamp-lead {
    font-family: 'Space Mono', monospace;
    font-size: 0.55rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
    opacity: 0.8;
}
.pgf-archive-stamp-main {
    font-family: 'Space Mono', monospace;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.25;
    color: var(--pgfa-pink-deep);
}

.pgf-archive-seal {
    position: relative;
    width: 104px;
    height: 104px;
    margin: -50px auto 2rem;
    transform: translateX(92px) rotate(8deg);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0.88;
}
.pgf-archive-seal::before,
.pgf-archive-seal::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.pgf-archive-seal::before { inset: 0; border: 2px solid var(--pgfa-pink-deep); opacity: 0.85; }
.pgf-archive-seal::after  { inset: 6px 5px 4px 6px; border: 1px solid var(--pgfa-pink-deep); opacity: 0.6; }

.pgf-archive-seal-l1, .pgf-archive-seal-l2 {
    font-family: 'Space Mono', monospace;
    font-size: 0.43rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
    line-height: 1.25;
}
.pgf-archive-seal-main {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 700;
    font-size: 1.32rem;
    letter-spacing: 0.04em;
    color: var(--pgfa-pink-deep);
    margin: 0.12rem 0;
}

/* ---- handwritten note + the PGF lipstick kiss ---------------------- */

.pgf-archive-handnote {
    font-family: 'Caveat', cursive;
    font-size: 1.34rem;
    line-height: 1.5;
    color: var(--pgfa-pink-deep);
    margin: 0 0 2.1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.pgf-archive-kiss {
    display: block;
    width: 58px;
    height: 42px;
    transform: rotate(-8deg);
    opacity: 0.85;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 72'%3E%3Cg fill='%23C42462'%3E%3Cpath d='M4 32C10 20 18 10 28 11c10 1 18 7 22 12 4-5 12-11 22-12 10-1 18 9 24 21-16-5-32-7-46-4.5C36 25 20 27 4 32Z'/%3E%3Cpath d='M4 35c16-3 32-4 46-2 14-2 30-1 46 2-6 17-24 31-46 31S10 52 4 35Z'/%3E%3Ccircle cx='7' cy='30' r='2.1' opacity='.55'/%3E%3Ccircle cx='94' cy='37' r='1.7' opacity='.5'/%3E%3Ccircle cx='50' cy='69.5' r='1.9' opacity='.45'/%3E%3Ccircle cx='24' cy='8.5' r='1.5' opacity='.5'/%3E%3Ccircle cx='77' cy='8' r='1.3' opacity='.45'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---- existing-account invitation: a small stack of notes ---------- */

.pgf-archive-invite {
    position: relative;
    max-width: 314px;
    margin: 0 auto 1.9rem;
    padding: 1.5rem 1.5rem 1.55rem;
    text-align: left;
    background: var(--pgfa-sheet);
    border-radius: 2px;
    transform: rotate(-1.2deg);
    /* two solid offset shadows read as sheets stacked underneath */
    box-shadow:
        7px 8px 0 -1px var(--pgfa-sheet-2),
        14px 16px 0 -2px var(--pgfa-sheet-3),
        0 20px 26px -18px rgba(70,0,26,0.45),
        inset 0 1px 0 rgba(255,255,255,0.8);
}
.pgf-archive-invite-clip {
    position: absolute;
    top: -22px;
    left: -14px;
    width: 46px;
    height: 46px;
    transform: rotate(-16deg);
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M30 51C8 34 4 21 13 13c8-7 15 0 17 5 2-5 9-12 17-5 9 8 5 21-17 38Z' fill='none' stroke='%23E88CB0' stroke-width='3.6' stroke-linejoin='round'/%3E%3Cpath d='M30 44C14 31 11 22 17 17' fill='none' stroke='%23FFFFFF' stroke-width='1.1' stroke-linecap='round' opacity='.6'/%3E%3C/svg%3E");
}
.pgf-archive-invite-lead {
    font-family: 'Caveat', cursive;
    font-size: 1.28rem;
    color: var(--pgfa-pink-deep);
    margin: 0 0 0.3rem;
}
.pgf-archive-invite-copy {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 1.02rem;
    line-height: 1.4;
    color: var(--pgfa-ink);
    margin: 0 0 0.9rem;
}
.pgf-archive-invite-link {
    display: inline-block;
    font-family: 'Space Mono', monospace;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 0.14rem;
}
.pgf-archive-invite-link:hover,
.pgf-archive-invite-link:focus-visible { color: var(--pgfa-pink); }

.pgf-archive-property {
    font-family: 'Space Mono', monospace;
    font-size: 0.58rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: rgba(36,16,23,0.4);
    margin: 0;
}

/* ================================================================
   RIGHT COLUMN — the dossier object
   ================================================================ */

/* creates the stacking context the layered sheets and index tabs sit
   inside, so they paint behind the dossier's own paper */
.pgf-archive-side {
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    padding-right: 40px;
}

.pgf-archive-dossier {
    position: relative;
    width: 100%;
    max-width: 470px;
    padding: 2.1rem 2rem 1.7rem;
    border-radius: 3px;
    background:
        radial-gradient(ellipse 60% 40% at 12% 4%, rgba(255,255,255,0.85), transparent 70%),
        repeating-linear-gradient(98deg, rgba(122,16,48,0.018) 0px, rgba(122,16,48,0.018) 1px, transparent 1px, transparent 5px),
        linear-gradient(172deg, var(--pgfa-sheet) 0%, #F7EADC 60%, var(--pgfa-cream-deep) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.9),
        0 2px 4px -1px rgba(70,0,26,0.14),
        0 34px 52px -32px rgba(70,0,26,0.55);
}

/* two sheets stacked behind the front sheet, slightly rotated */
.pgf-archive-dossier::before,
.pgf-archive-dossier::after {
    content: '';
    position: absolute;
    z-index: -2;
    border-radius: 3px;
    box-shadow: 0 12px 20px -14px rgba(70,0,26,0.5);
}
.pgf-archive-dossier::before {
    inset: 8px -13px -14px 9px;
    background: var(--pgfa-sheet-2);
    transform: rotate(1.1deg);
}
.pgf-archive-dossier::after {
    inset: 16px -22px -24px 18px;
    background: var(--pgfa-sheet-3);
    transform: rotate(2.2deg);
}

/* ---- paperclip gripping the top-left corner ----------------------- */

.pgf-dossier-clip {
    position: absolute;
    top: -26px;
    left: 26px;
    width: 32px;
    height: 62px;
    z-index: 3;
    transform: rotate(-7deg);
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 74'%3E%3Cpath d='M12 66V17a8.4 8.4 0 0 1 16.8 0v40a5.6 5.6 0 0 1-11.2 0V23' fill='none' stroke='%23E88CB0' stroke-width='4.6' stroke-linecap='round'/%3E%3Cpath d='M12 66V17a8.4 8.4 0 0 1 16.8 0v40' fill='none' stroke='%23FFFFFF' stroke-width='1.2' stroke-linecap='round' opacity='.55'/%3E%3C/svg%3E");
    filter: drop-shadow(1px 3px 2px rgba(70,0,26,0.3));
}

/* ---- header ------------------------------------------------------- */

.pgf-dossier-header {
    position: relative;
    margin: 0 0 1.15rem;
    padding-right: 108px;
}
.pgf-dossier-eyebrow {
    display: block;
    font-family: 'Space Mono', monospace;
    font-size: 0.6rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
    margin: 0 0 0.35rem;
}
.pgf-dossier-title {
    font-family: 'Space Mono', monospace;
    font-weight: 700;
    font-size: 1.24rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--pgfa-ink);
    margin: 0 0 0.3rem;
    line-height: 1.2;
}
.pgf-dossier-newstamp {
    display: inline-block;
    font-family: 'Space Mono', monospace;
    font-size: 0.55rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pgfa-green);
    border: 1.5px solid var(--pgfa-green);
    padding: 0.2rem 0.5rem;
    border-radius: 2px;
    transform: rotate(-4deg);
    white-space: nowrap;
    opacity: 0.85;
}

/* the authorized badge is lifted into the header's top-right corner,
   matching the reference — CSS only, markup order unchanged */
.pgf-dossier-badge {
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    text-align: center;
    font-family: 'Space Mono', monospace;
    font-size: 0.55rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.5;
    color: var(--pgfa-pink-deep);
    border: 1px solid rgba(184,25,92,0.45);
    border-radius: 2px;
    padding: 0.45rem 0.35rem;
    margin: 0;
}

/* ---- index tabs emerging from the right edge ---------------------- */

.pgf-dossier-tabs {
    position: absolute;
    z-index: -1;
    top: 78px;
    left: calc(100% - 10px);
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.pgf-dossier-tabs span {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: 'Space Mono', monospace;
    font-size: 0.53rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--pgfa-wine);
    background: linear-gradient(90deg, var(--pgfa-sheet-2) 0%, var(--pgfa-blush) 100%);
    border: 1px solid rgba(122,16,48,0.14);
    border-left: none;
    border-radius: 0 5px 5px 0;
    padding: 0.85rem 0.42rem 0.85rem 0.9rem;
    box-shadow: 2px 3px 6px -3px rgba(70,0,26,0.45);
}

/* ---- personnel body: portrait + metadata -------------------------- */

.pgf-dossier-body {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1.1rem;
    align-items: start;
    margin: 0 0 1.15rem;
}

/* an archival ID photograph, not a web avatar */
.pgf-dossier-portrait {
    width: 92px;
    height: 112px;
    border-radius: 2px;
    background-color: #F7C9DC;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 88% auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cg fill='%23E07BA6'%3E%3Ccircle cx='60' cy='17' r='11'/%3E%3Cellipse cx='50' cy='45' rx='19' ry='24'/%3E%3Cpath d='M50 67c-17 0-32 12-36 28-2 8-3 16-3 25h78c0-9-1-17-3-25-4-16-19-28-36-28Z'/%3E%3C/g%3E%3C/svg%3E");
    border: 1px solid rgba(122,16,48,0.2);
    box-shadow:
        inset 0 0 0 4px rgba(255,255,255,0.7),
        inset 0 2px 6px rgba(122,16,48,0.16),
        0 4px 8px -4px rgba(70,0,26,0.45);
}
.pgf-dossier-portrait-mark { display: none; }

.pgf-dossier-rows { min-width: 0; }
.pgf-dossier-row {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    padding: 0.3rem 0;
    border-bottom: 1px dashed rgba(122,16,48,0.16);
}
.pgf-dossier-row:last-child { border-bottom: none; }
.pgf-dossier-row .label {
    font-family: 'Space Mono', monospace;
    font-size: 0.56rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: rgba(36,16,23,0.5);
}
.pgf-dossier-row .value {
    font-family: 'Space Mono', monospace;
    font-size: 0.76rem;
    color: var(--pgfa-pink-deep);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pgf-dossier-sysmeta {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    text-align: right;
}
.pgf-dossier-sys-block { display: flex; flex-direction: column; align-items: flex-end; gap: 0.22rem; }
.pgf-dossier-sys-block .label {
    font-family: 'Space Mono', monospace;
    font-size: 0.56rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: rgba(36,16,23,0.5);
}
.pgf-dossier-status-chip {
    font-family: 'Space Mono', monospace;
    font-size: 0.6rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--pgfa-wine);
    border: 1px solid rgba(122,16,48,0.3);
    background: rgba(255,255,255,0.55);
    border-radius: 2px;
    padding: 0.35rem 0.5rem;
    white-space: nowrap;
}
.pgf-dossier-sys-online {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    font-family: 'Space Mono', monospace;
    font-size: 0.66rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
}
.pgf-dossier-sys-online .dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--pgfa-pink-deep);
    box-shadow: 0 0 4px 1px rgba(184,25,92,0.5);
}

.pgf-dossier-divider {
    border-top: 1px dashed rgba(122,16,48,0.25);
    margin: 0 0 1.3rem;
}

/* ---- registration status / notice / error ------------------------- */

.pgf-archive-notice {
    font-family: 'Space Mono', monospace;
    font-size: 0.76rem;
    line-height: 1.65;
    background: rgba(255,255,255,0.6);
    border: 1px solid var(--pgfa-line);
    border-left: 3px solid var(--pgfa-pink-deep);
    border-radius: 3px;
    padding: 0.9rem 1rem;
    color: var(--pgfa-ink);
}

.pgf-archive-error {
    font-family: 'Space Mono', monospace;
    font-size: 0.74rem;
    line-height: 1.55;
    background: rgba(255,255,255,0.7);
    border: 1px solid rgba(184,25,92,0.35);
    border-left: 3px solid var(--pgfa-pink-deep);
    border-radius: 3px;
    color: var(--pgfa-wine);
    padding: 0.72rem 0.85rem;
    margin: 0 0 1.05rem;
}

/* ---- the real six-field registration form ------------------------- */

.pgf-archive-form { margin: 0; }

.pgf-archive-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.pgf-archive-field-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem;
}

.pgf-archive-field { margin: 0 0 0.95rem; }
.pgf-archive-field label {
    display: block;
    font-family: 'Space Mono', monospace;
    font-size: 0.61rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: rgba(36,16,23,0.66);
    margin: 0 0 0.35rem;
}
.pgf-archive-field label .req { color: var(--pgfa-pink-deep); margin-left: 0.2em; }

.pgf-archive-field input[type="text"],
.pgf-archive-field input[type="email"],
.pgf-archive-field input[type="password"] {
    width: 100%;
    font-family: 'Fraunces', Georgia, serif;
    font-size: 0.93rem;
    padding: 0.64rem 0.75rem;
    border: 1px solid rgba(122,16,48,0.2);
    border-radius: 3px;
    background-color: rgba(255,255,255,0.72);
    color: var(--pgfa-ink);
    box-shadow: inset 0 1px 3px rgba(122,16,48,0.09);
    transition: border-color 0.15s ease;
}
.pgf-archive-field input:focus-visible {
    outline: 2px solid var(--pgfa-pink-deep);
    outline-offset: 1px;
    border-color: var(--pgfa-pink-deep);
}

/* subtle field icons, drawn in CSS against the existing input ids —
   no markup change and no id change */
#pgf-archive-email,
#pgf-archive-password,
#pgf-archive-password-confirm {
    padding-left: 44px;
    background-repeat: no-repeat, no-repeat;
    background-position: 12px center, 0 0;
    background-size: 17px 17px, 100% 100%;
}
#pgf-archive-email {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C77E9E' stroke-width='1.7'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2.2'/%3E%3Cpath d='M3.6 7 12 13l8.4-6'/%3E%3C/svg%3E"),
        linear-gradient(90deg, transparent 0 35px, rgba(122,16,48,0.14) 35px 36px, transparent 36px);
}
#pgf-archive-password,
#pgf-archive-password-confirm {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C77E9E' stroke-width='1.7'%3E%3Crect x='4.8' y='10.4' width='14.4' height='9.6' rx='2.2'/%3E%3Cpath d='M8.4 10.4V7.9a3.6 3.6 0 0 1 7.2 0v2.5'/%3E%3C/svg%3E"),
        linear-gradient(90deg, transparent 0 35px, rgba(122,16,48,0.14) 35px 36px, transparent 36px);
}

.pgf-archive-handle-row {
    display: flex;
    align-items: center;
    border: 1px solid rgba(122,16,48,0.2);
    border-radius: 3px;
    background: rgba(255,255,255,0.72);
    box-shadow: inset 0 1px 3px rgba(122,16,48,0.09);
    overflow: hidden;
}
.pgf-archive-handle-prefix {
    padding: 0 0.55rem 0 0.8rem;
    font-family: 'Space Mono', monospace;
    font-size: 0.9rem;
    color: rgba(122,16,48,0.45);
    border-right: 1px solid rgba(122,16,48,0.14);
    align-self: stretch;
    display: flex;
    align-items: center;
}
.pgf-archive-handle-row input {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
.pgf-archive-handle-row input:focus-visible { outline: none; }
.pgf-archive-handle-row:focus-within { outline: 2px solid var(--pgfa-pink-deep); outline-offset: 1px; }

.pgf-archive-hint {
    font-family: 'Space Mono', monospace;
    font-size: 0.62rem;
    line-height: 1.5;
    color: rgba(36,16,23,0.48);
    margin: 0.35rem 0 0;
}

.pgf-archive-pw-row { position: relative; }
.pgf-archive-pw-toggle {
    position: absolute;
    right: 0.65rem;
    bottom: 0.58rem;
    background: none;
    border: none;
    font-family: 'Space Mono', monospace;
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
    cursor: pointer;
    padding: 0.15rem 0.1rem;
}
.pgf-archive-pw-row .pgf-archive-hint { padding-right: 3.2rem; }
.pgf-archive-pw-toggle:focus-visible { outline: 2px solid var(--pgfa-pink-deep); outline-offset: 2px; }

.pgf-archive-submit {
    width: 100%;
    padding: 0.95rem 1.4rem;
    background: linear-gradient(180deg, #EE3E84, var(--pgfa-pink) 42%, #A5164E 100%);
    color: #fff;
    border: none;
    border-radius: 3px;
    font-family: 'Space Mono', monospace;
    font-size: 0.78rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    cursor: pointer;
    margin: 0.4rem 0 0.9rem;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.35),
        0 6px 14px -6px rgba(122,16,48,0.6);
    transition: filter 0.15s ease, transform 0.15s ease;
}
.pgf-archive-submit:hover { filter: brightness(1.06); }
.pgf-archive-submit:active { transform: translateY(1px); }
.pgf-archive-submit:focus-visible { outline: 2px solid var(--pgfa-ink); outline-offset: 2px; }

.pgf-archive-fineprint {
    font-family: 'Space Mono', monospace;
    font-size: 0.6rem;
    line-height: 1.55;
    color: rgba(36,16,23,0.42);
    margin: 0;
}

/* ---- dossier footer ------------------------------------------------ */

.pgf-dossier-footer {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 0.2rem 0.9rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px dashed rgba(122,16,48,0.25);
}
.pgf-dossier-security {
    grid-column: 1;
    grid-row: 1 / span 2;
    font-family: 'Space Mono', monospace;
    font-size: 0.58rem;
    line-height: 1.6;
    color: rgba(36,16,23,0.55);
    text-align: left;
    margin: 0;
    padding-left: 20px;
    background-repeat: no-repeat;
    background-position: 0 2px;
    background-size: 14px 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8195C' stroke-width='1.8'%3E%3Crect x='4.8' y='10.4' width='14.4' height='9.6' rx='2.2'/%3E%3Cpath d='M8.4 10.4V7.9a3.6 3.6 0 0 1 7.2 0v2.5'/%3E%3C/svg%3E");
}
.pgf-dossier-barcode {
    grid-column: 2;
    grid-row: 1;
    height: 30px;
    width: 168px;
    background-image:
        repeating-linear-gradient(90deg, rgba(36,16,23,0.9) 0 2px, transparent 2px 5px),
        repeating-linear-gradient(90deg, rgba(36,16,23,0.9) 0 1px, transparent 1px 3px),
        repeating-linear-gradient(90deg, rgba(36,16,23,0.9) 0 3px, transparent 3px 11px);
}
.pgf-dossier-barcode span { display: none; }
.pgf-dossier-barcode-code {
    grid-column: 2;
    grid-row: 2;
    display: block;
    text-align: center;
    font-family: 'Space Mono', monospace;
    font-size: 0.58rem;
    letter-spacing: 0.14em;
    color: rgba(36,16,23,0.5);
    margin: 0;
}

/* circular ink stamp, double-ringed like the seals */
.pgf-dossier-confidential {
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-self: end;
    position: relative;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: 'Space Mono', monospace;
    font-size: 0.5rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
    transform: rotate(-11deg);
    opacity: 0.7;
}
.pgf-dossier-confidential::before,
.pgf-dossier-confidential::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.pgf-dossier-confidential::before { inset: 0; border: 1.8px solid var(--pgfa-pink-deep); opacity: 0.85; }
.pgf-dossier-confidential::after  { inset: 5px 4px 4px 5px; border: 1px solid var(--pgfa-pink-deep); opacity: 0.55; }

/* ================================================================
   SUCCESS STATE
   ================================================================ */

.pgf-archive-success {
    max-width: 640px;
    margin: 0 auto;
    background: linear-gradient(172deg, var(--pgfa-sheet), var(--pgfa-cream-deep));
    border-radius: 3px;
    padding: 2.6rem clamp(1.5rem, 4vw, 3rem);
    text-align: center;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.9),
        7px 8px 0 -1px var(--pgfa-sheet-2),
        14px 16px 0 -2px var(--pgfa-sheet-3),
        0 34px 52px -32px rgba(70,0,26,0.5);
}
.pgf-archive-eyebrow {
    font-family: 'Space Mono', monospace;
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--pgfa-pink-deep);
    margin: 0 0 1.2rem;
}
.pgf-archive-processing {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    font-family: 'Space Mono', monospace;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    color: rgba(36,16,23,0.42);
    line-height: 2;
}
.pgf-archive-ready h1 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 700;
    font-size: clamp(1.8rem, 3.5vw, 2.4rem);
    margin: 0 0 0.8rem;
    color: var(--pgfa-ink);
}
.pgf-archive-ready p {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(36,16,23,0.72);
    max-width: 46ch;
    margin: 0 auto 1.7rem;
}
.pgf-archive-id-plate {
    display: inline-flex;
    flex-direction: column;
    border-radius: 4px;
    padding: 0.75rem 1.7rem;
    margin: 0 0 1.6rem;
    background-image:
        linear-gradient(104deg, rgba(255,255,255,0) 32%, rgba(255,255,255,0.5) 47%, rgba(255,255,255,0) 61%),
        linear-gradient(178deg, #F0D3A8 0%, var(--pgfa-champagne) 28%, var(--pgfa-brass) 76%, #A9773F 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.7),
        inset 0 -2px 3px rgba(90,58,20,0.4),
        0 4px 8px -3px rgba(70,0,26,0.45);
}
.pgf-archive-id-plate .label {
    font-family: 'Space Mono', monospace;
    font-size: 0.58rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #4A2E10;
}
.pgf-archive-id-plate .value {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 700;
    font-size: 1.2rem;
    color: #331D05;
}
.pgf-archive-altlink {
    font-family: 'Space Mono', monospace;
    font-size: 0.7rem;
    color: rgba(36,16,23,0.5);
    line-height: 1.7;
}
.pgf-archive-pending {
    display: inline-block;
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(184,25,92,0.5);
    cursor: default;
}

/* ================================================================
   TABLET
   ================================================================ */

@media (max-width: 1080px) {
    .pgf-archive-columns { grid-template-columns: 0.92fr 1.08fr; gap: 2rem; }
    .pgf-archive-side { padding-right: 30px; }
    .pgf-dossier-tabs span { padding: 0.7rem 0.36rem 0.7rem 0.8rem; font-size: 0.5rem; }
    .pgf-archive-seal { transform: translateX(74px) rotate(8deg); }
}

/* ================================================================
   MOBILE — story -> dossier + registration -> existing-account
   invitation. Signature details kept: one stamp, the heart clip,
   the kiss, the archive identification, the layered paper.
   ================================================================ */

@media (max-width: 900px) {
    .pgf-archive-columns {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
        align-items: stretch;
    }
    .pgf-archive-story { display: contents; }

    .pgf-archive-brand     { order: 1; }
    .pgf-archive-headline  { order: 2; text-align: center; }
    .pgf-archive-tagline   { order: 3; }
    .pgf-archive-stamp-box { order: 4; justify-self: center; }
    .pgf-archive-seal      { order: 5; }
    .pgf-archive-handnote  { order: 6; }
    .pgf-archive-side      { order: 7; }
    .pgf-archive-invite    { order: 8; }
    .pgf-archive-property  { order: 9; text-align: center; }

    .pgf-archive-brand { text-align: center; }
    .pgf-archive-tagline { margin-bottom: 0.5rem; }

    /* the seal stops overlapping so neither stamp is clipped */
    .pgf-archive-seal {
        margin: -0.4rem auto 0.6rem;
        transform: rotate(8deg);
    }
    .pgf-archive-handnote { margin-bottom: 0.5rem; }

    .pgf-archive-side { padding-right: 34px; }
    .pgf-archive-dossier { max-width: 100%; }
}

@media (max-width: 620px) {
    .pgf-archive-side { padding-right: 0; }
    /* index tabs need horizontal room the phone doesn't have */
    .pgf-dossier-tabs { display: none; }

    .pgf-archive-dossier { padding: 1.7rem 1.25rem 1.5rem; }
    .pgf-archive-dossier::after { display: none; }
    .pgf-archive-dossier::before { inset: 7px -9px -10px 7px; }

    .pgf-dossier-header { padding-right: 0; }
    .pgf-dossier-badge { position: static; width: auto; display: inline-block; margin-top: 0.5rem; }

    .pgf-dossier-body {
        grid-template-columns: auto 1fr;
        gap: 0.9rem;
    }
    .pgf-dossier-portrait { width: 76px; height: 92px; }
    .pgf-dossier-sysmeta {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        text-align: left;
        padding-top: 0.6rem;
        border-top: 1px dashed rgba(122,16,48,0.16);
    }
    .pgf-dossier-sys-block { align-items: flex-start; }

    .pgf-archive-field-pair { grid-template-columns: 1fr; gap: 0; }

    .pgf-dossier-footer {
        grid-template-columns: 1fr auto;
        gap: 0.9rem;
    }
    .pgf-dossier-security { grid-column: 1 / -1; grid-row: 1; }
    .pgf-dossier-barcode { grid-column: 1; grid-row: 2; width: 100%; max-width: 168px; }
    .pgf-dossier-barcode-code { grid-column: 1; grid-row: 3; text-align: left; }
    .pgf-dossier-confidential { grid-column: 2; grid-row: 2 / span 2; }

    .pgf-archive-invite { max-width: min(314px, 88vw); }
}

/* ================================================================
   REDUCED MOTION
   ================================================================ */

@media (prefers-reduced-motion: reduce) {
    .pgf-archive-submit,
    .pgf-archive-invite-link,
    .pgf-archive-field input { transition: none !important; }
    .pgf-archive-submit:active { transform: none !important; }
}