/* ============================================================
   Résumé templates — additional families (18 designs)
   Each family is keyed on the engine's head-<fam> class and is
   driven entirely by the accent tokens --pa / --pa2, so every
   color variant is a distinct, correct design.
   Families: Horizon, Margin, Tabbed, Underscore, Postcard, Signal
   ============================================================ */

/* ===================== HORIZON — accent header band ===================== */
.paper.head-hzn { color: #2a3340; }
.head-hzn .rhead { background: linear-gradient(120deg, var(--pa), var(--pa2)); padding: 50px 54px 34px; }
.head-hzn .rid-top .rname { color: #fff; font-family: var(--font-display), sans-serif; font-weight: 800; font-size: 38px; letter-spacing: -0.02em; line-height: 1.03; }
.head-hzn .rid-top .rname-2 { opacity: 0.88; font-weight: 700; }
.head-hzn .rid-top .rtitle { color: rgba(255,255,255,0.92); font-weight: 600; margin-top: 8px; letter-spacing: 0.01em; }
.head-hzn .rid-top .rcontact { color: rgba(255,255,255,0.94); margin-top: 14px; gap: 6px 18px; }
.head-hzn .rid-top .rcontact-i svg { color: #fff; opacity: 0.9; }
.head-hzn .rbody, .head-hzn .rcols.arch-stack { padding: 30px 54px 8px; }
.head-hzn .rsec-t { color: var(--pa); font-family: var(--font-ui); font-weight: 800; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 10px; }
.head-hzn .rjob-r { font-weight: 700; }
.head-hzn .r-bullets li::before { background: var(--pa); }
.head-hzn .rside .rsec-t { color: var(--pa2); }

/* ===================== MARGIN — left accent rule ===================== */
.paper.head-mgn { color: #2b2f36; }
.head-mgn .rhead { border-left: 6px solid var(--pa); padding: 44px 54px 22px 48px; margin-bottom: 6px; }
.head-mgn .rid-top .rname { font-family: var(--font-display), sans-serif; font-weight: 800; font-size: 36px; letter-spacing: -0.02em; color: #1b1f25; }
.head-mgn .rid-top .rname-2 { color: var(--pa); }
.head-mgn .rid-top .rtitle { color: #5a6573; font-weight: 600; letter-spacing: 0.02em; margin-top: 6px; }
.head-mgn .rid-top .rcontact { margin-top: 12px; color: #5a6573; gap: 5px 16px; }
.head-mgn .rid-top .rcontact-i svg { color: var(--pa); }
.head-mgn .rbody, .head-mgn .rcols.arch-stack { padding: 14px 54px 8px 48px; }
.head-mgn .rsec-t { color: #1b1f25; font-family: var(--font-ui); font-weight: 800; font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; padding-bottom: 5px; border-bottom: 2px solid var(--pa); margin-bottom: 11px; display: inline-block; }
.head-mgn .rjob-r { font-weight: 700; }
.head-mgn .r-bullets li::before { background: var(--pa); }
.head-mgn .sbar-fill { background: linear-gradient(90deg, var(--pa), var(--pa2)); }

/* ===================== TABBED — soft tinted rail (sidebar) ===================== */
.paper.head-tab { color: #2b2f36; }
.head-tab .rcols.arch-sidebar .rside { padding: 42px 26px; }
.paper.head-tab .rcols.arch-sidebar .rside { background: color-mix(in oklab, var(--pa) 12%, #ffffff); }
.head-tab .rside .rid-side .rname { font-family: var(--font-display), sans-serif; font-weight: 800; font-size: 26px; letter-spacing: -0.02em; color: #1b1f25; line-height: 1.06; }
.head-tab .rside .rid-side .rname-2 { color: var(--pa); }
.head-tab .rside .rid-side .rtitle { color: #56606e; font-weight: 600; font-size: 12.5px; margin-top: 5px; }
.head-tab .rside .rid-side .rcontact { color: #56606e; }
.head-tab .rside .rid-side .rcontact-i svg { color: var(--pa); }
.head-tab .rside .rsec-t { color: var(--pa); font-family: var(--font-ui); font-weight: 800; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
.head-tab .rphoto-id { border: 3px solid #fff; box-shadow: 0 4px 14px rgba(0,0,0,0.12); }
.head-tab .rmain { padding: 42px 40px; }
.head-tab .rmain .rsec-t { color: #1b1f25; font-family: var(--font-ui); font-weight: 800; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; padding-bottom: 5px; border-bottom: 2px solid color-mix(in oklab, var(--pa) 35%, #fff); margin-bottom: 11px; }
.head-tab .sdots i.on { background: var(--pa); }
.head-tab .r-bullets li::before { background: var(--pa); }

/* ===================== UNDERSCORE — minimal underline ===================== */
.paper.head-usc { color: #23262c; }
.head-usc .rhead { padding: 50px 56px 18px; border-bottom: 1px solid #e6e6ea; }
.head-usc .rid-top .rname { font-family: var(--font-display), sans-serif; font-weight: 800; font-size: 40px; letter-spacing: -0.03em; color: #16181d; }
.head-usc .rid-top .rname-2 { color: #16181d; font-weight: 300; }
.head-usc .rid-top .rtitle { color: var(--pa); font-weight: 700; letter-spacing: 0.02em; margin-top: 8px; }
.head-usc .rid-top .rcontact { margin-top: 12px; color: #6a6e77; gap: 5px 16px; }
.head-usc .rid-top .rcontact-i svg { color: var(--pa); }
.head-usc .rbody, .head-usc .rcols.arch-stack { padding: 26px 56px 8px; }
.head-usc .rsec-t { color: #16181d; font-family: var(--font-ui); font-weight: 800; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; position: relative; padding-bottom: 9px; margin-bottom: 12px; }
.head-usc .rsec-t::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2.5px; background: var(--pa); border-radius: 2px; }
.head-usc .rtags span { border: 1px solid color-mix(in oklab, var(--pa) 40%, #fff); color: #2b2f36; background: color-mix(in oklab, var(--pa) 7%, #fff); }
.head-usc .r-bullets li::before { background: var(--pa); }

/* ===================== POSTCARD — serif display ===================== */
.paper.head-pcd { color: #2c2a28; font-family: var(--font-serif), Georgia, serif; }
.head-pcd .rhead { text-align: center; padding: 50px 56px 22px; }
.head-pcd .rid-top { align-items: center; text-align: center; }
.head-pcd .rid-top .rname { font-family: var(--font-serif), Georgia, serif; font-weight: 600; font-size: 42px; letter-spacing: 0.01em; color: var(--pa); line-height: 1.05; }
.head-pcd .rid-top .rtitle { font-family: var(--font-ui); font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #6a655e; margin-top: 9px; }
.head-pcd .rid-top .rcontact { justify-content: center; font-family: var(--font-ui); gap: 4px 16px; font-size: 11.5px; color: #6a655e; margin-top: 12px; }
.head-pcd .rid-top { padding-bottom: 16px; border-top: 1px solid var(--pa); border-bottom: 1px solid var(--pa); padding-top: 16px; }
.head-pcd .rcontact-i svg { color: var(--pa); }
.head-pcd .rbody, .head-pcd .rcols.arch-stack { padding: 24px 56px 8px; }
.head-pcd .rsec-t { font-family: var(--font-ui); font-weight: 800; font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa); margin-bottom: 10px; }
.head-pcd .rjob-r { font-family: var(--font-ui); font-weight: 700; font-size: 13.5px; }
.head-pcd .rjob-c { font-style: italic; color: var(--pa); }
.head-pcd .rsum, .head-pcd .r-bullets, .head-pcd .rtags span { font-family: var(--font-ui); }
.head-pcd .r-bullets li::before { background: var(--pa); }

/* ===================== SIGNAL — marker + experience spine ===================== */
.paper.head-sig { color: #282c33; }
.head-sig .rhead { padding: 46px 54px 20px; border-bottom: 3px solid color-mix(in oklab, var(--pa) 25%, #fff); }
.head-sig .rid-top .rname { font-family: var(--font-display), sans-serif; font-weight: 800; font-size: 37px; letter-spacing: -0.02em; color: #1a1d23; }
.head-sig .rid-top .rname-2 { color: var(--pa); }
.head-sig .rid-top .rtitle { color: #59626f; font-weight: 600; margin-top: 6px; }
.head-sig .rid-top .rcontact { margin-top: 12px; color: #59626f; gap: 5px 16px; }
.head-sig .rid-top .rcontact-i svg { color: var(--pa); }
.head-sig .rbody, .head-sig .rcols.arch-stack { padding: 22px 54px 8px; }
.head-sig .rsec-t { color: #1a1d23; font-family: var(--font-ui); font-weight: 800; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 11px; padding-left: 16px; position: relative; }
.head-sig .rsec-t::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 8px; height: 8px; border-radius: 50%; background: var(--pa); box-shadow: 0 0 0 3px color-mix(in oklab, var(--pa) 22%, transparent); }
.head-sig .rmain .rjob { padding-left: 16px; border-left: 2px solid color-mix(in oklab, var(--pa) 30%, #fff); }
.head-sig .ssig i.on { background: var(--pa); }
.head-sig .r-bullets li::before { background: var(--pa); }
