/* ============================================================
   WORK PASSPORT — candidate-facing "passport pages" layout.
   Header, footer, tokens, buttons, .eyebrow and .reveal come
   from base.css. This file only styles the page body.
   ============================================================ */

/* ---- Cover ------------------------------------------------- */
.cover{text-align:center;padding:calc(var(--hero-pad-t) + 16px) 0 var(--sec-pad)}
.cover .emblem{width:64px;height:64px;border-radius:18px;background:var(--blue);position:relative;margin:0 auto 26px}
.cover .emblem::after{content:"";position:absolute;inset:17px;border:3px solid #fff;border-radius:50%;border-right-color:transparent;transform:rotate(-45deg)}
.cover .eyebrow{font-size:.8rem}
.cover h1{font-size:clamp(2.8rem,6.2vw,4.6rem);font-weight:800;margin:16px auto 0;max-width:16ch}
.cover p{color:#33353f;font-size:1.2rem;margin:20px auto 0;max-width:40ch}
.cover .cue{margin-top:40px;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:inline-flex;flex-direction:column;align-items:center;gap:8px}
.cover .cue .arrow{width:22px;height:22px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(45deg)}50%{transform:translateY(6px) rotate(45deg)}}

/* ---- Passport pages --------------------------------------- */
.page{padding:var(--sec-pad) 0;border-top:1px solid var(--line)}
.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.page.flip .page-shot{order:-1}
.stamp{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.stamp .num{font-family:var(--display);font-weight:800;font-size:2.4rem;color:var(--blue);line-height:1}
.stamp .lbl{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem}
.page h2{font-size:clamp(1.9rem,3.8vw,2.7rem);font-weight:800}
.page p{color:#44464f;font-size:1.1rem;margin-top:16px;max-width:38ch}
.page-shot{display:flex;justify-content:center}
.page-shot img{height:auto;max-height:620px;width:auto;max-width:100%;display:block;filter:drop-shadow(0 34px 50px rgba(13,13,18,.20))}
@media(max-width:860px){.page-grid{grid-template-columns:1fr;gap:26px}.page.flip .page-shot{order:0}.page p{max-width:none}.page-shot img{max-height:500px}}

/* ---- Phone placeholder (fallback when a slot is empty) ----- */
.ph-phone{width:300px;height:600px;border:1px solid var(--line);border-radius:38px;background:radial-gradient(120% 120% at 0% 0%, rgba(26,60,242,.10), transparent 60%),linear-gradient(150deg,var(--paper-2),#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center;padding:20px}
.ph-phone .ph-ic{font-size:2rem}
.ph-phone .ph-t{font-family:var(--mono);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:860px){.ph-phone{height:500px;width:260px}}

/* ---- Close ------------------------------------------------- */
.close{text-align:center;padding:calc(var(--sec-pad) + 16px) 0;border-top:1px solid var(--line)}
.close .eyebrow{color:var(--verified)}
.close h2{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;margin:14px auto 0;max-width:16ch}
.close p{color:var(--muted);font-size:1.15rem;margin:18px auto 0;max-width:42ch}
.close .cta{margin-top:30px;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.emp{max-width:1000px;margin:34px auto 0}
.emp-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:22px 28px;text-align:left}
.emp-in p{font-weight:600;font-size:1rem;margin:0}
.emp-in span{color:var(--muted);font-weight:400;font-size:.9rem;display:block;margin-top:3px}
