/* H View Resume Builder: Pro template designs (30), batches 1-3. Every rule is scoped to .rbp[data-t="key"]. */
/* H View Resume Builder: new Pro template styles (batch 1 of 3).
   Every rule is scoped to its template with .rbp[data-t="key"]. Colours use --acc / --accb / --acc2, type uses --hf / --bf / --fs. */

/* ---- shared: contact icons drawn as CSS masks (used by: duotone, tiles, portrait, contrast, spine) ----
   Icons follow the contact order email, phone, location, link. */
.rbp[data-t="duotone"],
.rbp[data-t="tiles"],
.rbp[data-t="portrait"],
.rbp[data-t="contrast"],
.rbp[data-t="spine"]{
--ic-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 7l8 6 8-6' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ic-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6.5' y='2.5' width='11' height='19' rx='2.5' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5 18h3' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ic-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.5s6.5-6.6 6.5-11.6a6.5 6.5 0 0 0-13 0c0 5 6.5 11.6 6.5 11.6z' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='9.8' r='2.4' fill='black'/%3E%3C/svg%3E");
--ic-link:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 14a4 4 0 0 0 5.66 0l3.17-3.17a4 4 0 0 0-5.66-5.66L12 6.34' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 10a4 4 0 0 0-5.66 0l-3.17 3.17a4 4 0 0 0 5.66 5.66L12 17.66' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.rbp[data-t="duotone"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="duotone"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="duotone"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="duotone"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="tiles"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="tiles"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="tiles"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="tiles"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="portrait"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="portrait"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="portrait"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="portrait"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="contrast"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="contrast"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="contrast"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="contrast"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="spine"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="spine"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="spine"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="spine"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="duotone"] .rbh-contact i,
.rbp[data-t="tiles"] .rbh-contact i,
.rbp[data-t="portrait"] .rbh-contact i,
.rbp[data-t="contrast"] .rbh-contact i,
.rbp[data-t="spine"] .rbh-contact i{width:calc(var(--fs) * 1.05);height:calc(var(--fs) * 1.05);border-radius:0;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* ===================== margin · Margin =====================
   Swiss grid: section headings sit right-aligned in a left margin, a hairline rail with square nodes splits margin from content. */
.rbp[data-t="margin"]{--mcol:128px;--mgap:24px}
.rbp[data-t="margin"] .rbp-thread{left:calc(var(--pad) + var(--mcol) + var(--mgap) / 2);width:1px;background:var(--line);opacity:1}
/* header aligned to the same grid: photo (if any) in the margin, name in the content column */
.rbp[data-t="margin"] .rbh,.rbp[data-t="margin"] .rbh.has-ph{grid-template-columns:var(--mcol) 1fr;grid-template-areas:"ph txt" "ph ct";column-gap:var(--mgap);padding:0 0 calc(10px * var(--gap));border:0;align-items:end}
.rbp[data-t="margin"] .rbh.has-qr{grid-template-columns:var(--mcol) 1fr auto;grid-template-areas:"ph txt qr" "ph ct qr"}
.rbp[data-t="margin"] .rbh-photo{width:var(--mcol);height:var(--mcol);justify-self:end;border-radius:0}
.rbp[data-t="margin"][data-photo=circle] .rbh-photo{border-radius:50%}.rbp[data-t="margin"][data-photo=rounded] .rbh-photo{border-radius:10px}
.rbp[data-t="margin"] .rbh-name{font-size:calc(var(--fs) * 2.7);line-height:1.02;letter-spacing:-.02em;overflow-wrap:break-word}
.rbp[data-t="margin"] .rbh-title{font-size:calc(var(--fs) * 1.15);color:var(--acc);margin-top:5px}
.rbp[data-t="margin"] .rbh-contact{margin-top:10px;gap:2px 18px;color:var(--ink)}
.rbp[data-t="margin"] .rbh-contact i{width:5px;height:5px;border-radius:0;background:var(--acc)}
/* sections: heading in the margin column */
.rbp[data-t="margin"] .rbs{display:grid;grid-template-columns:var(--mcol) 1fr;column-gap:var(--mgap)}
.rbp[data-t="margin"] .rbs>*{grid-column:2;min-width:0}
.rbp[data-t="margin"] .rbs>.rbs-h{grid-column:1;grid-row:1/span 40;align-self:start;display:block;position:relative;margin:0;padding-top:1px;text-align:right;font:700 calc(var(--fs) * .98)/1.25 var(--hf);text-transform:none;letter-spacing:0;color:var(--acc);background:none;border-radius:0}
.rbp[data-t="margin"] .rbs-h::before{content:"";position:absolute;right:calc(var(--mgap) / -2 - 3.5px);top:.4em;width:7px;height:7px;background:var(--acc);border-radius:0;display:block}
.rbp[data-t="margin"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="margin"] .rbs-h-cont::after{display:block;font-size:calc(var(--fs) * .85)}
.rbp[data-t="margin"] .rbs-h-cont::before{background:#fff;border:1.5px solid var(--acc);width:7px;height:7px}
.rbp[data-t="margin"] .rbi-t{font-size:calc(var(--fs) * 1.05)}
.rbp[data-t="margin"] .rbi-d{color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="margin"] .rbi-s{font-size:calc(var(--fs) * .96)}
.rbp[data-t="margin"] .rbi li::before{width:6px;height:2px;border-radius:0;top:.68em;background:var(--acc)}
.rbp[data-t="margin"] .rbsk-list span:not(:last-child)::after{content:"/";color:var(--line);margin-left:7px}
.rbp[data-t="margin"] .rbsk:not(.rbsk-list) span{border-radius:0;background:none;border:1px solid var(--line);padding:1px 8px}
.rbp[data-t="margin"] .rbs>.rbi:has(.rbln){display:block}
.rbp[data-t="margin"] .rbln{display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:12px;padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="margin"] .rbln span:first-child{font-weight:700}
.rbp[data-t="margin"] .rbln span:last-child{color:var(--ink)}
.rbp[data-t="margin"] .rbp-flow>.rbs-more:not([data-cont]){margin-top:calc(-14px * var(--gap) + 1px)}
/* page 2+: running name in the content column, rail continues */
.rbp[data-t="margin"] .rbp-run{margin-left:calc(var(--mcol) + var(--mgap));border:0;padding:0 0 4px;font-size:calc(var(--fs) * .9)}
.rbp[data-t="margin"] .rbp-run b{color:var(--acc)}

/* ===================== masthead · Masthead =====================
   Magazine cover: job title as a kicker above a very large serif name, masthead double rule, main column plus ruled right column. */
.rbp[data-t="masthead"] .rbp-thread{display:none}
.rbp[data-t="masthead"] .rbp-grid{grid-template-columns:1fr 228px}
.rbp[data-t="masthead"] .rbp-top{position:relative;padding:calc(var(--pad) + 4px) var(--pad) calc(22px * var(--gap));border:0;background:linear-gradient(var(--ink),var(--ink)) var(--pad) bottom/calc(100% - var(--pad) * 2) 3px no-repeat,linear-gradient(var(--ink),var(--ink)) var(--pad) calc(100% - 6px)/calc(100% - var(--pad) * 2) 1px no-repeat}
.rbp[data-t="masthead"] .rbp-top::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:calc(var(--pad) - 12px);height:5px;background:var(--acc)}
/* title becomes a small kicker above the big name (reading order is unchanged) */
.rbp[data-t="masthead"] .rbh{grid-template-columns:1fr;grid-template-areas:"txt" "ct";align-items:end}
.rbp[data-t="masthead"] .rbh.has-ph{grid-template-columns:1fr auto;grid-template-areas:"txt ph" "ct ph"}
.rbp[data-t="masthead"] .rbh.has-qr{grid-template-columns:1fr auto;grid-template-areas:"txt qr" "ct qr"}
.rbp[data-t="masthead"] .rbh.has-ph.has-qr{grid-template-columns:1fr auto auto;grid-template-areas:"txt ph qr" "ct ph qr"}
.rbp[data-t="masthead"] .rbh-photo{width:92px;height:92px;align-self:center}
.rbp[data-t="masthead"] .rbh-txt{display:flex;flex-direction:column-reverse}
.rbp[data-t="masthead"] .rbh-name{font-size:calc(var(--fs) * 4.1);line-height:.98;letter-spacing:-.025em;overflow-wrap:break-word}
.rbp[data-t="masthead"] .rbh-title{font:700 calc(var(--fs) * .92)/1.3 var(--bf);text-transform:uppercase;letter-spacing:.16em;color:var(--acc);margin:0 0 8px}
.rbp[data-t="masthead"] .rbh-contact{margin-top:14px;gap:2px 0;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="masthead"] .rbh-contact>span{padding:0 12px;border-left:1px solid var(--line)}
.rbp[data-t="masthead"] .rbh-contact>span:first-child{padding-left:0;border-left:0}
.rbp[data-t="masthead"] .rbh-contact i{display:none}
.rbp[data-t="masthead"] .rbp-main{padding-top:calc(22px * var(--gap));padding-right:26px}
.rbp[data-t="masthead"] .rbp-side{background:none;padding:calc(22px * var(--gap)) var(--pad) var(--pad) 24px;border-left:1px solid var(--line);margin:calc(22px * var(--gap)) 0 var(--pad);padding-top:0}
/* headings: serif, sentence case, short colour bar above */
.rbp[data-t="masthead"] .rbs-h{display:block;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * 1.4)/1.15 var(--hf);text-transform:none;letter-spacing:-.005em;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="masthead"] .rbs-h::before{content:"";display:block;width:28px;height:3px;background:var(--acc);margin-bottom:7px;border-radius:0}
.rbp[data-t="masthead"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="masthead"] .rbs-h-cont::after{font-size:calc(var(--fs) * .8)}
.rbp[data-t="masthead"] .rbp-side .rbs-h{font-size:calc(var(--fs) * 1.15)}
.rbp[data-t="masthead"] .rbp-side .rbs-h::before{width:18px;background:var(--accb)}
/* jobs: date as a kicker above the title */
.rbp[data-t="masthead"] .rbi-top{flex-direction:column-reverse;align-items:flex-start;gap:1px}
.rbp[data-t="masthead"] .rbi-d{font-size:calc(var(--fs) * .82);text-transform:uppercase;letter-spacing:.1em;color:var(--acc);font-weight:700;white-space:normal}
.rbp[data-t="masthead"] .rbi-t{font:700 calc(var(--fs) * 1.12)/1.25 var(--hf)}
.rbp[data-t="masthead"] .rbi-s{font-size:calc(var(--fs) * .95)}
.rbp[data-t="masthead"] .rbi li::before{width:6px;height:1px;border-radius:0;top:.75em;background:var(--ink)}
.rbp[data-t="masthead"] .rbsum{font-size:calc(var(--fs) * 1.04);line-height:1.6}
.rbp[data-t="masthead"] .rbsk span{background:none;border-radius:0;padding:0 0 1px;border-bottom:1px solid var(--accb)}
.rbp[data-t="masthead"] .rbsk{gap:6px 12px}
.rbp[data-t="masthead"] .rbsk-list span{border:0}
.rbp[data-t="masthead"] .rbp-side .rbln{border-bottom:1px dotted var(--line);padding:2px 0}
.rbp[data-t="masthead"] .rbp-side .rbi-t{font-size:calc(var(--fs) * 1)}
.rbp[data-t="masthead"] .rbp-run{padding:0 0 8px;border-bottom:3px solid var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="masthead"] .rbp-run b{font:700 calc(var(--fs) * 1.25) var(--hf);color:var(--ink);margin-right:4px}
.rbp[data-t="masthead"][data-pn]:not([data-pn="1"]) .rbp-side{margin-top:calc(var(--pad) + 8px)}
.rbp[data-t="masthead"][data-pn]:not([data-pn="1"]) .rbp-main{padding-top:var(--pad)}

.rbp[data-t="masthead"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px}
.rbp[data-t="masthead"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}

/* ===================== duotone · Duotone =====================
   Header split into two tones with a thin second-colour seam; contact rows with icons; boxed date pills. */
.rbp[data-t="duotone"] .rbp-top{padding:0;color:var(--ink);background:linear-gradient(90deg,var(--acc) 0 61%,var(--accb) 61% calc(61% + 6px),var(--acc2) calc(61% + 6px) 100%)}
.rbp[data-t="duotone"] .rbh,.rbp[data-t="duotone"] .rbh.has-ph{grid-template-columns:auto 1fr 39%;grid-template-areas:"ph txt ct";column-gap:0;align-items:center;min-height:150px}
.rbp[data-t="duotone"] .rbh:not(.has-ph){grid-template-columns:1fr 39%;grid-template-areas:"txt ct"}
.rbp[data-t="duotone"] .rbh.has-qr{grid-template-columns:1fr 39%;grid-template-areas:"txt ct" "qr ct"}
.rbp[data-t="duotone"] .rbh.has-ph.has-qr{grid-template-columns:auto 1fr 39%;grid-template-areas:"ph txt ct" "ph qr ct"}
.rbp[data-t="duotone"] .rbh-qr{justify-self:start;margin:0 0 16px var(--pad)}
.rbp[data-t="duotone"] .rbh-photo{width:104px;height:116px;margin:26px 0 26px var(--pad);border:0;border-radius:12px;background:rgba(255,255,255,.18)}
.rbp[data-t="duotone"][data-photo=circle] .rbh-photo{height:104px;border-radius:50%}
.rbp[data-t="duotone"][data-photo=square] .rbh-photo{border-radius:0}
.rbp[data-t="duotone"] .rbh-txt{align-self:center;padding:30px 26px 30px var(--pad)}
.rbp[data-t="duotone"] .rbh.has-ph .rbh-txt{padding-left:22px}
.rbp[data-t="duotone"] .rbh-name{color:#fff;font-size:calc(var(--fs) * 2.45);line-height:1.08;overflow-wrap:break-word}
.rbp[data-t="duotone"] .rbh-title{color:#fff;opacity:.9;font-size:calc(var(--fs) * 1.08);margin-top:6px}
.rbp[data-t="duotone"] .rbh-contact{align-self:stretch;flex-direction:column;justify-content:center;flex-wrap:nowrap;gap:5px;margin:0;padding:20px var(--pad) 20px 30px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="duotone"] .rbh-contact>span{gap:9px;align-items:flex-start}
.rbp[data-t="duotone"] .rbh-contact>span>span{min-width:0}
.rbp[data-t="duotone"] .rbh-contact i{background:var(--acc)!important;margin-top:.15em}
.rbp[data-t="duotone"][data-pn]:not([data-pn="1"]) .rbp-top{height:16px;padding:0}
.rbp[data-t="duotone"] .rbp-main{padding-top:calc(26px * var(--gap))}
/* headings: colour text with a short second-colour underline under the words */
.rbp[data-t="duotone"] .rbs-h{display:block;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.12)/1.2 var(--hf);text-transform:none;letter-spacing:.005em;color:var(--acc);background:none;padding:0;border-radius:0}
.rbp[data-t="duotone"] .rbs-h>span{display:inline-block;padding-bottom:3px;background:linear-gradient(var(--accb),var(--accb)) left bottom/34px 3px no-repeat}
.rbp[data-t="duotone"] .rbs-h::before{content:none}
.rbp[data-t="duotone"] .rbs-h:not(.rbs-h-cont)::after{content:none}
/* jobs: boxed date pill on the right */
.rbp[data-t="duotone"] .rbi-top{align-items:center}
.rbp[data-t="duotone"] .rbi-d{border:1px solid var(--acc);color:var(--acc);border-radius:999px;padding:0 9px;font-size:calc(var(--fs) * .84);line-height:1.6;font-weight:700}
.rbp[data-t="duotone"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="duotone"] .rbi li::before{width:6px;height:6px;border-radius:2px;background:var(--accb);top:.5em}
.rbp[data-t="duotone"] .rbsk span{background:#fff;border:1px solid var(--acc);color:var(--acc);font-size:calc(var(--fs) * .9)}
.rbp[data-t="duotone"] .rbsk-list span{border:0;color:var(--ink)}
.rbp[data-t="duotone"] .rbln{border-bottom:1px solid var(--line);padding:3px 0}
.rbp[data-t="duotone"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="duotone"] .rbp-run{font-size:calc(var(--fs) * .9);border-color:var(--acc2)}
.rbp[data-t="duotone"] .rbp-run b{color:var(--acc)}

/* ===================== waypoint · Waypoint =====================
   Thick colour rail with dates in filled pills on the left; section headings sit on the rail as nodes. */
.rbp[data-t="waypoint"]{--dcol:112px;--rail:130px;--ccol:154px}
.rbp[data-t="waypoint"] .rbp-thread{display:none}
/* header: name left, contact stacked on the right, a full-width colour bar under it */
.rbp[data-t="waypoint"] .rbh{padding-bottom:calc(16px * var(--gap));border-bottom:0;background:linear-gradient(var(--acc),var(--acc)) left bottom/100% 3px no-repeat;column-gap:24px}
.rbp[data-t="waypoint"] .rbh-name{font-size:calc(var(--fs) * 2.7);line-height:1.04;letter-spacing:-.02em;overflow-wrap:break-word}
.rbp[data-t="waypoint"] .rbh-title{font-size:calc(var(--fs) * 1.15);color:var(--acc);font-weight:700}
.rbp[data-t="waypoint"] .rbh-contact{font-size:calc(var(--fs) * .9);gap:2px;color:var(--ink);max-width:300px}
.rbp[data-t="waypoint"] .rbh-contact>span{justify-content:flex-end}
.rbp[data-t="waypoint"] .rbh-contact i{background:var(--accb)}
.rbp[data-t="waypoint"] .rbh-photo{border:3px solid var(--acc)}
/* every section aligns to the content column; headings sit on the rail as nodes */
.rbp[data-t="waypoint"] .rbs{padding-left:var(--ccol);position:relative}
.rbp[data-t="waypoint"] .rbs-tl{padding-left:0}
.rbp[data-t="waypoint"] .rbs-h{position:relative;display:block;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.12)/1.2 var(--hf);text-transform:none;letter-spacing:.01em;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="waypoint"] .rbs-tl .rbs-h{padding-left:var(--ccol)}
.rbp[data-t="waypoint"] .rbs-h::before{content:"";position:absolute;left:calc(var(--rail) - var(--ccol) - 8px);top:.05em;width:16px;height:16px;border-radius:50%;background:var(--acc);border:4px solid var(--acc2);display:block;box-sizing:border-box}
.rbp[data-t="waypoint"] .rbs-tl .rbs-h::before{left:calc(var(--rail) - 8px)}
.rbp[data-t="waypoint"] .rbs-h:not(.rbs-h-cont)::after{content:none}
/* the rail: one continuous line through each timeline section */
.rbp[data-t="waypoint"] .rbs-tl::before{content:"";position:absolute;left:calc(var(--rail) - 1.5px);top:0;bottom:calc(-14px * var(--gap));width:3px;background:var(--acc)}
.rbp[data-t="waypoint"] .rbs-tl:has(> .rbs-h)::before{top:.7em}
.rbp[data-t="waypoint"] .rbs-tl:not(:has(+ .rbs-tl>.rbi:first-child))::before{bottom:0}
/* dates in filled pills in the left column; content to the right of the rail */
.rbp[data-t="waypoint"] .rbs-tl .rbi{display:grid;grid-template-columns:var(--dcol) 1fr;column-gap:calc(var(--ccol) - var(--dcol));position:relative;margin:0;padding:0}
.rbp[data-t="waypoint"] .rbs-tl .rbi>*{grid-column:2}
.rbp[data-t="waypoint"] .rbs-tl .rbi::after{content:none}
.rbp[data-t="waypoint"] .rbs-tl .rbi::before{content:"";position:absolute;left:calc(var(--rail) - 5px);top:.35em;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--acc);box-sizing:border-box}
.rbp[data-t="waypoint"] .rbs-tl .rbi-d{grid-column:1;grid-row:1/span 3;align-self:start;justify-self:stretch;text-align:center;white-space:normal;background:var(--acc);color:#fff;font-size:calc(var(--fs) * .82);line-height:1.35;font-weight:700;padding:2px 6px;border-radius:10px}
.rbp[data-t="waypoint"] .rbs-tl .rbi-top{display:block}
.rbp[data-t="waypoint"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="waypoint"] .rbi-d{color:var(--acc);font-weight:700}
.rbp[data-t="waypoint"] .rbi li::before{background:var(--accb);width:5px;height:5px;border-radius:0;transform:rotate(45deg)}
.rbp[data-t="waypoint"] .rbsk span{background:var(--acc2);border-radius:4px}
.rbp[data-t="waypoint"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="waypoint"] .rbln{border-bottom:1px dashed var(--line);padding:2px 0}
.rbp[data-t="waypoint"] .rbp-run{padding-left:var(--ccol);border-bottom:0;background:linear-gradient(var(--acc),var(--acc)) left bottom/100% 2px no-repeat;padding-bottom:8px}
.rbp[data-t="waypoint"] .rbp-run b{color:var(--acc)}

/* ===================== tiles · Tiles =====================
   Tinted page with white rounded cards for the header and every section, two columns. */
.rbp[data-t="tiles"]{background:var(--acc2);--card:#fff}
.rbp[data-t="tiles"] .rbp-thread{display:none}
.rbp[data-t="tiles"] .rbp-grid{grid-template-columns:1fr 246px}
.rbp[data-t="tiles"] .rbp-top{padding:calc(var(--pad) - 10px) calc(var(--pad) - 10px) 0;border:0}
.rbp[data-t="tiles"] .rbp-main{padding:calc(12px * var(--gap)) 6px calc(var(--pad) - 10px) calc(var(--pad) - 10px)}
.rbp[data-t="tiles"] .rbp-side{background:none;padding:calc(12px * var(--gap)) calc(var(--pad) - 10px) calc(var(--pad) - 10px) 6px}
.rbp[data-t="tiles"] .rbp-flow{gap:calc(12px * var(--gap))}
/* header card */
.rbp[data-t="tiles"] .rbh{background:var(--card);border-radius:16px;padding:20px 22px;background:linear-gradient(var(--accb),var(--accb)) top/100% 6px no-repeat,var(--card);padding-top:24px;column-gap:18px}
.rbp[data-t="tiles"] .rbh-photo{width:92px;height:92px;border-radius:14px}
.rbp[data-t="tiles"][data-photo=circle] .rbh-photo{border-radius:50%}.rbp[data-t="tiles"][data-photo=square] .rbh-photo{border-radius:0}
.rbp[data-t="tiles"] .rbh-name{font-size:calc(var(--fs) * 2.35);line-height:1.08;overflow-wrap:break-word}
.rbp[data-t="tiles"] .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.08)}
.rbp[data-t="tiles"] .rbh-contact{gap:5px 6px;margin-top:10px;color:var(--ink);font-size:calc(var(--fs) * .88)}
.rbp[data-t="tiles"] .rbh-contact>span{background:var(--acc2);border-radius:8px;padding:2px 9px 2px 7px;gap:6px}
.rbp[data-t="tiles"] .rbh-contact i{background:var(--acc)}
/* every section is a card; continued blocks of one section join into the same card */
.rbp[data-t="tiles"] .rbs{background:var(--card);border-radius:14px;padding:14px 16px}
.rbp[data-t="tiles"] .rbs:has(+ .rbs>.rbi:first-child){border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:6px}
.rbp[data-t="tiles"] .rbp-flow>.rbs:not(:has(> .rbs-h)){margin-top:calc(-12px * var(--gap));border-top-left-radius:0;border-top-right-radius:0;padding-top:6px}
.rbp[data-t="tiles"] .rbs:not(:has(> .rbs-h)):not(.rbs-more)>.rbi{border-top:1px dashed var(--line);padding-top:9px}
.rbp[data-t="tiles"] .rbs-h{display:flex;align-items:center;gap:8px;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * 1.05)/1.2 var(--hf);text-transform:none;letter-spacing:.01em;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="tiles"] .rbs-h::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--acc);flex:none;display:block;box-shadow:none}
.rbp[data-t="tiles"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="tiles"] .rbp-side .rbs-h::before{background:var(--accb)}
.rbp[data-t="tiles"] .rbi-top{flex-wrap:wrap;row-gap:0}
.rbp[data-t="tiles"] .rbi-t{font-size:calc(var(--fs) * 1.04)}
.rbp[data-t="tiles"] .rbi-d{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .86)}
.rbp[data-t="tiles"] .rbi li::before{background:var(--accb);width:5px;height:5px;top:.6em}
.rbp[data-t="tiles"] .rbsk span{background:var(--acc2);border-radius:6px;font-size:calc(var(--fs) * .9)}
.rbp[data-t="tiles"] .rbsk-list span{background:none}
.rbp[data-t="tiles"] .rbln{padding:2px 0}
.rbp[data-t="tiles"] .rbln span:last-child{font-size:calc(var(--fs) * .92)}
.rbp[data-t="tiles"] .rbp-side .rbi-t{font-size:calc(var(--fs) * .98)}
.rbp[data-t="tiles"] .rbp-side .rbi-top{display:block}
.rbp[data-t="tiles"] .rbp-side .rbi-d{display:block}
.rbp[data-t="tiles"] .rbp-run{background:var(--card);border-radius:12px;border:0;padding:9px 16px;font-size:calc(var(--fs) * .9)}
.rbp[data-t="tiles"] .rbp-run b{color:var(--acc)}
.rbp[data-t="tiles"][data-pn]:not([data-pn="1"]) .rbp-main,.rbp[data-t="tiles"][data-pn]:not([data-pn="1"]) .rbp-side{padding-top:calc(var(--pad) - 10px)}

.rbp[data-t="tiles"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px}
.rbp[data-t="tiles"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}

/* ===================== portrait · Portrait =====================
   Dark sidebar whose top is a full-width photo; name sits on a colour block below it. */
.rbp[data-t="portrait"] .rbp-grid{grid-template-columns:252px 1fr}
.rbp[data-t="portrait"] .rbp-side{background:#22262e;padding:0 26px var(--pad)}
/* header: full-width photo at the top of the column, name on a colour block */
.rbp[data-t="portrait"] .rbp-side .rbh{row-gap:0}
.rbp[data-t="portrait"] .rbp-side .rbh-photo{width:calc(100% + 52px);height:286px;margin:0 -26px;border:0;border-radius:0;background:#2e333d}
.rbp[data-t="portrait"][data-photo=circle] .rbp-side .rbh-photo{width:150px;height:150px;margin:var(--pad) 0 18px;border-radius:50%;border:4px solid var(--acc)}
.rbp[data-t="portrait"] .rbp-side .rbh-txt{margin:0 -26px;padding:18px 26px 20px;background:var(--acc);align-self:stretch;justify-self:stretch}
.rbp[data-t="portrait"][data-nophoto="1"] .rbp-side .rbh-txt{padding-top:calc(var(--pad) + 18px)}
.rbp[data-t="portrait"][data-photo=circle] .rbp-side .rbh.has-ph .rbh-txt{margin-top:0}
.rbp[data-t="portrait"] .rbp-side .rbh-name{font-size:calc(var(--fs) * 1.95);line-height:1.1;color:#fff;overflow-wrap:break-word}
.rbp[data-t="portrait"] .rbp-side .rbh-title{color:#fff;opacity:.92;font-size:calc(var(--fs) * 1);margin-top:6px}
.rbp[data-t="portrait"] .rbp-side .rbh-contact{gap:7px;margin-top:18px;color:#e9ebef;font-size:calc(var(--fs) * .88)}
.rbp[data-t="portrait"] .rbp-side .rbh-contact>span{gap:9px;align-items:flex-start}
.rbp[data-t="portrait"] .rbp-side .rbh-contact i{background:var(--acc);margin-top:.12em}
.rbp[data-t="portrait"] .rbp-side .rbh-qr{margin-top:12px}
.rbp[data-t="portrait"] .rbp-side .rbp-flow{gap:calc(16px * var(--gap))}
.rbp[data-t="portrait"] .rbp-side .rbs-h{display:block;font:700 calc(var(--fs) * .9)/1.2 var(--bf);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:calc(9px * var(--gap));background:none;padding:0}
.rbp[data-t="portrait"] .rbp-side .rbs-h::before{content:none}
.rbp[data-t="portrait"] .rbp-side .rbs-h:not(.rbs-h-cont)::after{content:"";display:block;width:26px;height:2px;margin-top:6px;background:var(--acc);flex:none}
.rbp[data-t="portrait"] .rbp-side .rbsk span{background:none;border:1px solid rgba(255,255,255,.28);border-radius:3px;color:#fff;font-size:calc(var(--fs) * .88)}
.rbp[data-t="portrait"] .rbp-side .rbsk-list span{border:0}
.rbp[data-t="portrait"] .rbp-side .rbln{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.rbp[data-t="portrait"] .rbp-side .rbi-top{display:block}
.rbp[data-t="portrait"] .rbp-side .rbi-d{display:block;color:var(--acc)}
.rbp[data-t="portrait"] .rbp-side li::before{background:var(--acc)}
/* main column */
.rbp[data-t="portrait"] .rbp-main{padding:var(--pad) var(--pad) var(--pad) 36px}
.rbp[data-t="portrait"] .rbp-main .rbs-h{display:flex;align-items:center;gap:12px;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.38)/1.2 var(--hf);text-transform:none;letter-spacing:0;color:var(--ink);background:none;padding:0}
.rbp[data-t="portrait"] .rbp-main .rbs-h::before{content:none}
.rbp[data-t="portrait"] .rbp-main .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:1px;background:var(--line)}
.rbp[data-t="portrait"] .rbp-main .rbs-h-cont::after{flex:none}
.rbp[data-t="portrait"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="portrait"] .rbp-main .rbi-d{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .86);letter-spacing:.04em}
.rbp[data-t="portrait"] .rbp-main .rbi-s b{color:var(--ink)}
.rbp[data-t="portrait"] .rbp-main li::before{background:var(--acc);border-radius:0;width:6px;height:2px;top:.72em}
.rbp[data-t="portrait"] .rbp-main .rbsk span{background:var(--acc2)}
.rbp[data-t="portrait"] .rbp-run{border-bottom:2px solid var(--acc);font-size:calc(var(--fs) * .9)}

.rbp[data-t="portrait"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px}
.rbp[data-t="portrait"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}

/* ===================== gauge · Gauge =====================
   Left tinted column with skill bars drawn in CSS (in the order you list skills); segmented tick-rule headings. */
.rbp[data-t="gauge"] .rbp-thread{display:none}
.rbp[data-t="gauge"] .rbp-grid{grid-template-columns:238px 1fr}
.rbp[data-t="gauge"] .rbp-top{padding:var(--pad) var(--pad) calc(20px * var(--gap));border:0;background:linear-gradient(var(--acc),var(--acc)) left bottom/238px 5px no-repeat,linear-gradient(var(--line),var(--line)) left bottom/100% 1px no-repeat}
.rbp[data-t="gauge"] .rbp-side{grid-row:2;grid-column:1;background:var(--acc2);padding:calc(22px * var(--gap)) 24px var(--pad) var(--pad)}
.rbp[data-t="gauge"] .rbp-main{grid-row:2;grid-column:2;padding:calc(22px * var(--gap)) var(--pad) var(--pad) 30px}
.rbp[data-t="gauge"] .rbh-name{font-size:calc(var(--fs) * 2.6);line-height:1.05;letter-spacing:-.015em;overflow-wrap:break-word}
.rbp[data-t="gauge"] .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.12)}
.rbp[data-t="gauge"] .rbh-contact{font-size:calc(var(--fs) * .9);color:var(--ink);gap:2px;max-width:290px}
.rbp[data-t="gauge"] .rbh-contact i{border-radius:0;width:8px;height:3px;background:var(--acc)}
/* headings: ink text followed by a segmented tick rule */
.rbp[data-t="gauge"] .rbs-h{display:flex;align-items:center;gap:10px;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.1)/1.2 var(--hf);text-transform:none;letter-spacing:.01em;color:var(--ink);background:none;padding:0}
.rbp[data-t="gauge"] .rbs-h::before{content:none}
.rbp[data-t="gauge"] .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:5px;background:repeating-linear-gradient(90deg,var(--acc) 0 3px,transparent 3px 7px);opacity:.45}
.rbp[data-t="gauge"] .rbs-h-cont::after{flex:none}
.rbp[data-t="gauge"] .rbp-side .rbs-h:not(.rbs-h-cont)::after{background:repeating-linear-gradient(90deg,var(--acc) 0 3px,transparent 3px 7px)}
/* skill bars, longest first: the order you list skills sets the bar length */
.rbp[data-t="gauge"] .rbsk{display:flex;flex-direction:column;gap:6px}
.rbp[data-t="gauge"] .rbsk span,.rbp[data-t="gauge"] .rbsk-list span{display:block;padding:0 0 7px;background:linear-gradient(var(--acc),var(--acc)) left bottom/var(--w,70%) 4px no-repeat,linear-gradient(#fff,#fff) left bottom/100% 4px no-repeat;border-radius:0;font-size:calc(var(--fs) * .95);line-height:1.3;color:var(--ink)}
.rbp[data-t="gauge"] .rbsk-list span::after{content:none!important}
.rbp[data-t="gauge"] .rbsk span:nth-child(1){--w:96%}.rbp[data-t="gauge"] .rbsk span:nth-child(2){--w:91%}.rbp[data-t="gauge"] .rbsk span:nth-child(3){--w:86%}.rbp[data-t="gauge"] .rbsk span:nth-child(4){--w:82%}.rbp[data-t="gauge"] .rbsk span:nth-child(5){--w:78%}.rbp[data-t="gauge"] .rbsk span:nth-child(6){--w:74%}.rbp[data-t="gauge"] .rbsk span:nth-child(n+7){--w:70%}
.rbp[data-t="gauge"] .rbp-main .rbsk{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
.rbp[data-t="gauge"] .rbp-main .rbsk span{background:linear-gradient(var(--acc),var(--acc)) left bottom/var(--w,70%) 4px no-repeat,linear-gradient(var(--acc2),var(--acc2)) left bottom/100% 4px no-repeat}
.rbp[data-t="gauge"] .rbln{padding:3px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.rbp[data-t="gauge"] .rbln span:last-child{font-size:calc(var(--fs) * .9)}
.rbp[data-t="gauge"] .rbp-side .rbi-top{display:block}
.rbp[data-t="gauge"] .rbp-side .rbi-d{display:block}
.rbp[data-t="gauge"] .rbp-side .rbi-t{font-size:calc(var(--fs) * .98)}
.rbp[data-t="gauge"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="gauge"] .rbp-main .rbi-d{color:var(--acc);font-weight:700}
.rbp[data-t="gauge"] .rbi li::before{width:7px;height:2px;border-radius:0;background:var(--acc);top:.72em;left:0}
.rbp[data-t="gauge"] .rbp-run{border-bottom:0;padding:0 0 4px;font-size:calc(var(--fs) * .9)}
.rbp[data-t="gauge"] .rbp-run b{color:var(--acc)}
.rbp[data-t="gauge"][data-pn]:not([data-pn="1"]) .rbp-main,.rbp[data-t="gauge"][data-pn]:not([data-pn="1"]) .rbp-side{padding-top:var(--pad)}

.rbp[data-t="gauge"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px}
.rbp[data-t="gauge"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}

/* ===================== contrast · Contrast =====================
   Dark header with a light body; headings as dark tabs with a rule; photo with an offset outline. */
.rbp[data-t="contrast"]{--dark:#1f242d}
.rbp[data-t="contrast"] .rbp-top{background:var(--dark);padding:calc(var(--pad) - 4px) var(--pad) calc(var(--pad) - 10px);border-bottom:5px solid var(--acc)}
.rbp[data-t="contrast"] .rbh,.rbp[data-t="contrast"] .rbh.has-ph{grid-template-columns:1fr auto;grid-template-areas:"txt ph" "ct ph";column-gap:28px}
.rbp[data-t="contrast"] .rbh.has-qr{grid-template-columns:1fr auto;grid-template-areas:"txt qr" "ct qr"}
.rbp[data-t="contrast"] .rbh.has-ph.has-qr{grid-template-columns:1fr auto auto;grid-template-areas:"txt qr ph" "ct qr ph"}
.rbp[data-t="contrast"] .rbh-photo{width:112px;height:112px;border:0;border-radius:0;outline:2px solid var(--acc);outline-offset:5px;margin:6px 6px 6px 0;background:#2c323d}
.rbp[data-t="contrast"][data-photo=circle] .rbh-photo{border-radius:50%}.rbp[data-t="contrast"][data-photo=rounded] .rbh-photo{border-radius:14px}
.rbp[data-t="contrast"] .rbh-name{color:#fff;font-size:calc(var(--fs) * 2.85);line-height:1.02;letter-spacing:-.025em;overflow-wrap:break-word}
.rbp[data-t="contrast"] .rbh-title{color:#eef1f5;font-weight:700;padding-left:10px;border-left:3px solid var(--acc);font-size:calc(var(--fs) * 1.15);margin-top:7px}
.rbp[data-t="contrast"] .rbh-contact{margin-top:14px;gap:5px 18px;color:#d7dbe2;font-size:calc(var(--fs) * .9)}
.rbp[data-t="contrast"] .rbh-contact>span{gap:7px}
.rbp[data-t="contrast"] .rbh-contact i{background:var(--acc)!important}
.rbp[data-t="contrast"][data-pn]:not([data-pn="1"]) .rbp-top{padding:0;height:14px}
.rbp[data-t="contrast"] .rbp-main{padding-top:calc(26px * var(--gap))}
/* headings: dark tab with a rule running to the margin */
.rbp[data-t="contrast"] .rbs-h{display:flex;align-items:center;gap:0;margin-bottom:calc(10px * var(--gap));font:700 calc(var(--fs) * .9)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.12em;color:#fff;background:none;padding:0;border-radius:0}
.rbp[data-t="contrast"] .rbs-h>span{background:var(--dark);padding:5px 12px 4px}
.rbp[data-t="contrast"] .rbs-h::before{content:"";width:5px;align-self:stretch;height:auto;background:var(--acc);border-radius:0;display:block}
.rbp[data-t="contrast"] .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:2px;background:var(--dark)}
.rbp[data-t="contrast"] .rbs-h-cont::after{color:var(--mute);margin-left:8px}
.rbp[data-t="contrast"] .rbi-top{align-items:baseline}
.rbp[data-t="contrast"] .rbi-t{font-size:calc(var(--fs) * 1.08)}
.rbp[data-t="contrast"] .rbi-d{color:var(--ink);font-weight:700;font-size:calc(var(--fs) * .88);border-bottom:2px solid var(--acc)}
.rbp[data-t="contrast"] .rbi-s b{color:var(--ink)}
.rbp[data-t="contrast"] .rbi li::before{width:5px;height:5px;border-radius:0;background:var(--dark);top:.58em}
.rbp[data-t="contrast"] .rbsk span{background:#eceef2;border-radius:2px;border-left:3px solid var(--acc);font-size:calc(var(--fs) * .9)}
.rbp[data-t="contrast"] .rbsk-list span{border:0;background:none}
.rbp[data-t="contrast"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="contrast"] .rbln{border-bottom:1px solid var(--line);padding:3px 0}
.rbp[data-t="contrast"] .rbp-run{border-bottom:2px solid var(--dark);font-size:calc(var(--fs) * .9)}

.rbp[data-t="contrast"] .rbs-h-cont{background:none;color:var(--ink)}
.rbp[data-t="contrast"] .rbs-h-cont::before{margin-right:9px;align-self:center;height:1.1em}

/* ===================== crescent · Crescent =====================
   Soft tinted header with a sweeping curved edge and a parallel arc line; serif headings with a curved underline. */
.rbp[data-t="crescent"] .rbp-top{position:relative;background:var(--acc2);padding:calc(var(--pad) - 6px) var(--pad) calc(var(--pad) + 2px);border-bottom-right-radius:100% 96px}
.rbp[data-t="crescent"] .rbp-top::after{content:"";position:absolute;inset:0;border-bottom:2px solid var(--accb);border-bottom-right-radius:100% 96px;transform:translateY(9px);pointer-events:none}
.rbp[data-t="crescent"] .rbh{column-gap:24px}
.rbp[data-t="crescent"] .rbh-photo{width:110px;height:110px;border:5px solid #fff;outline:1.5px solid var(--accb);outline-offset:0}
.rbp[data-t="crescent"] .rbh-name{color:var(--ink);font-size:calc(var(--fs) * 2.55);line-height:1.08;overflow-wrap:break-word}
.rbp[data-t="crescent"] .rbh-title{color:var(--acc);font-size:calc(var(--fs) * 1.15);margin-top:4px}
.rbp[data-t="crescent"] .rbh-contact{color:var(--ink);gap:3px 16px;font-size:calc(var(--fs) * .9)}
.rbp[data-t="crescent"] .rbh-contact i{width:5px;height:5px;background:var(--accb)!important}
.rbp[data-t="crescent"][data-pn]:not([data-pn="1"]) .rbp-top{padding:0;height:26px;border-bottom-right-radius:100% 26px}
.rbp[data-t="crescent"][data-pn]:not([data-pn="1"]) .rbp-top::after{border-bottom-right-radius:100% 26px;transform:translateY(6px)}
.rbp[data-t="crescent"] .rbp-main{padding-top:calc(28px * var(--gap))}
/* headings: serif in colour with a small curved underline */
.rbp[data-t="crescent"] .rbs-h{display:block;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.32)/1.2 var(--hf);text-transform:none;letter-spacing:0;color:var(--acc);background:none;padding:0;border-radius:0}
.rbp[data-t="crescent"] .rbs-h::before{content:none}
.rbp[data-t="crescent"] .rbs-h:not(.rbs-h-cont)::after{content:"";display:block;width:38px;height:7px;margin-top:2px;border-bottom:2px solid var(--accb);border-radius:0 0 50% 50%;background:none;flex:none}
.rbp[data-t="crescent"] .rbs-h-cont::after{font-size:calc(var(--fs) * .8)}
/* jobs: date under the title, then the organisation */
.rbp[data-t="crescent"] .rbi-top{display:block}
.rbp[data-t="crescent"] .rbi-t{display:block;font-size:calc(var(--fs) * 1.08)}
.rbp[data-t="crescent"] .rbi-d{display:inline-block;margin-top:1px;font-size:calc(var(--fs) * .86);color:var(--accb);font-weight:700}
.rbp[data-t="crescent"] .rbi li::before{width:6px;height:6px;border:1.5px solid var(--acc);background:none;top:.5em}
.rbp[data-t="crescent"] .rbsk span{background:none;border:1px solid var(--accb);color:var(--ink)}
.rbp[data-t="crescent"] .rbsk-list span{border:0}
.rbp[data-t="crescent"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="crescent"] .rbln{padding:2px 0;border-bottom:1px solid var(--acc2)}
.rbp[data-t="crescent"] .rbp-run{border:0;font-size:calc(var(--fs) * .9);padding-bottom:4px}
.rbp[data-t="crescent"] .rbp-run b{color:var(--acc)}

/* ===================== spine · Spine =====================
   Name set vertically in a full-height colour strip; headings connect to the strip with a short bar. */
.rbp[data-t="spine"]{--strip:112px;--sgap:34px}
.rbp[data-t="spine"] .rbp-thread{display:none}
.rbp[data-t="spine"] .rbp-main{padding:var(--pad) var(--pad) var(--pad) 0;background:linear-gradient(90deg,var(--acc) 0 var(--strip),transparent var(--strip))}
.rbp[data-t="spine"] .rbp-flow{display:grid;grid-template-columns:var(--strip) minmax(0,1fr);column-gap:var(--sgap);row-gap:0;align-content:start}
.rbp[data-t="spine"] .rbp-flow>*{grid-column:2}
.rbp[data-t="spine"] .rbp-flow>.rbs{margin-bottom:calc(14px * var(--gap))}
.rbp[data-t="spine"] .rbp-flow>.rbs-more:not([data-cont]){margin-top:calc(-14px * var(--gap) + 2px)}
/* header: name and title run up the strip; contact sits at the top of the content column */
.rbp[data-t="spine"] .rbh{display:contents}
.rbp[data-t="spine"] .rbh-photo{grid-column:1;grid-row:1;justify-self:center;align-self:start;width:76px;height:76px;border:3px solid #fff;margin-bottom:18px}
.rbp[data-t="spine"] .rbh-txt{grid-column:1;grid-row:1/span 80;align-self:start;justify-self:center;writing-mode:vertical-rl;transform:rotate(180deg);max-height:calc(1123px - var(--pad) * 2 - 40px);padding:0;display:flex;flex-direction:column;gap:4px}
.rbp[data-t="spine"] .rbh.has-ph .rbh-txt{grid-row:2/span 80;max-height:calc(1123px - var(--pad) * 2 - 140px)}
.rbp[data-t="spine"] .rbh-name{color:#fff;font-size:calc(var(--fs) * 3.05);line-height:1;letter-spacing:.02em;text-transform:uppercase}
.rbp[data-t="spine"] .rbh-title{color:#fff;opacity:.88;font-size:calc(var(--fs) * 1.02);margin:0;letter-spacing:.06em}
.rbp[data-t="spine"] .rbh-contact{grid-column:2;grid-row:1;align-self:start;margin:0 0 calc(18px * var(--gap));padding-bottom:12px;border-bottom:2px solid var(--ink);gap:4px 18px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="spine"] .rbh-contact>span{gap:7px}
.rbp[data-t="spine"] .rbh-contact i{background:var(--acc)!important}
.rbp[data-t="spine"] .rbh-qr{grid-column:2;justify-self:end;margin-bottom:12px}
/* page 2+: the running name also runs up the strip */
.rbp[data-t="spine"] .rbp-run{grid-column:1;grid-row:1/span 80;align-self:start;justify-self:center;writing-mode:vertical-rl;transform:rotate(180deg);border:0;padding:0;color:#fff;font-size:calc(var(--fs) * 1.05);letter-spacing:.06em;max-height:calc(1123px - var(--pad) * 2)}
.rbp[data-t="spine"] .rbp-run b{color:#fff;text-transform:uppercase}
/* headings joined to the strip by a short bar */
.rbp[data-t="spine"] .rbs-h{position:relative;display:block;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.22)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="spine"] .rbs-h::before{content:"";position:absolute;left:calc(var(--sgap) * -1);top:.5em;width:calc(var(--sgap) - 10px);height:4px;margin-top:-2px;background:var(--acc);border-radius:0}
.rbp[data-t="spine"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="spine"] .rbs-h-cont::after{text-transform:none;font-size:calc(var(--fs) * .8)}
.rbp[data-t="spine"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="spine"] .rbi-d{color:var(--acc);font-weight:700}
.rbp[data-t="spine"] .rbi li::before{width:8px;height:2px;border-radius:0;top:.72em;left:0;background:var(--acc)}
.rbp[data-t="spine"] .rbsk span{background:none;border:2px solid var(--ink);border-radius:0;font-weight:700;font-size:calc(var(--fs) * .88);padding:1px 8px}
.rbp[data-t="spine"] .rbsk-list span{border:0;font-weight:400}
.rbp[data-t="spine"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="spine"] .rbln{border-bottom:1px solid var(--line);padding:2px 0}


/* H View Resume Builder: new Pro template styles (batch 2 of 3).
   Every rule is scoped to its template with .rbp[data-t="key"]. Colours use --acc / --accb / --acc2, type uses --hf / --bf / --fs. */

/* ---- shared: contact icons drawn as CSS masks (used by: firststep, launchpad, target, horizon, circuit) ----
   Icons follow the contact order email, phone, location, link. */
.rbp[data-t="firststep"],
.rbp[data-t="launchpad"],
.rbp[data-t="target"],
.rbp[data-t="horizon"],
.rbp[data-t="circuit"]{
--ic-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 7l8 6 8-6' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ic-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6.5' y='2.5' width='11' height='19' rx='2.5' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5 18h3' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ic-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.5s6.5-6.6 6.5-11.6a6.5 6.5 0 0 0-13 0c0 5 6.5 11.6 6.5 11.6z' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='9.8' r='2.4' fill='black'/%3E%3C/svg%3E");
--ic-link:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 14a4 4 0 0 0 5.66 0l3.17-3.17a4 4 0 0 0-5.66-5.66L12 6.34' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 10a4 4 0 0 0-5.66 0l-3.17 3.17a4 4 0 0 0 5.66 5.66L12 17.66' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.rbp[data-t="firststep"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="firststep"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="firststep"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="firststep"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="launchpad"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="launchpad"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="launchpad"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="launchpad"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="target"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="target"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="target"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="target"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="horizon"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="horizon"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="horizon"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="horizon"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="circuit"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="circuit"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="circuit"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="circuit"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="firststep"] .rbh-contact i,
.rbp[data-t="launchpad"] .rbh-contact i,
.rbp[data-t="target"] .rbh-contact i,
.rbp[data-t="horizon"] .rbh-contact i,
.rbp[data-t="circuit"] .rbh-contact i{width:calc(var(--fs) * 1.05);height:calc(var(--fs) * 1.05);border-radius:0;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* ===================== firststep · First Step =====================
   Initials badge as a solid rounded tile beside the name (swaps for the photo when one is added); pill-tab headings; outlined date boxes. */
.rbp[data-t="firststep"] .rbp-thread{display:none}
.rbp[data-t="firststep"]::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,var(--acc) 0 70%,var(--accb) 70%)}
/* initials badge: a solid rounded tile left of the name; hidden when a photo is shown */
.rbp[data-t="firststep"] .rbp-mono{left:var(--pad);right:auto;top:calc(var(--pad) + 2px);width:74px;height:74px;border:0;border-radius:20px;background:var(--acc);color:#fff;font:700 calc(var(--fs) * 2) var(--hf);letter-spacing:.02em;transform:rotate(-4deg);box-shadow:6px 6px 0 var(--accb)}
.rbp[data-t="firststep"]:not([data-nophoto="1"]) .rbp-mono{display:none}
.rbp[data-t="firststep"][data-nophoto="1"] .rbh{padding-left:96px;padding-right:0;min-height:78px}
.rbp[data-t="firststep"] .rbh{border:0;padding-bottom:calc(6px * var(--gap));column-gap:20px}
.rbp[data-t="firststep"] .rbh-photo{width:86px;height:86px;border:4px solid var(--acc2);background:var(--acc2)}
.rbp[data-t="firststep"] .rbh-name{font-size:calc(var(--fs) * 2.45);line-height:1.08;overflow-wrap:break-word}
.rbp[data-t="firststep"] .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.1)}
.rbp[data-t="firststep"] .rbh-contact{gap:4px 16px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="firststep"] .rbh-contact>span{gap:6px}
.rbp[data-t="firststep"] .rbh-contact i{background:var(--acc)}
/* headings: pill tab with a hairline running on */
.rbp[data-t="firststep"] .rbs-h{display:flex;align-items:center;gap:10px;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1)/1.2 var(--hf);text-transform:none;letter-spacing:.01em;color:var(--acc);background:none;padding:0;border-radius:0}
.rbp[data-t="firststep"] .rbs-h>span{background:var(--acc2);padding:4px 14px;border-radius:999px}
.rbp[data-t="firststep"] .rbs-h-cont{background:var(--acc2);padding:4px 14px;border-radius:999px;align-self:flex-start}
.rbp[data-t="firststep"] .rbs-h::before{content:none}
.rbp[data-t="firststep"] .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:1px;background:var(--line)}
/* jobs: outlined date box */
.rbp[data-t="firststep"] .rbi-top{align-items:center}
.rbp[data-t="firststep"] .rbi-t{font-size:calc(var(--fs) * 1.05)}
.rbp[data-t="firststep"] .rbi-d{border:1.5px solid var(--accb);border-radius:6px;padding:0 7px;color:var(--ink);font-size:calc(var(--fs) * .84);font-weight:700;line-height:1.55}
.rbp[data-t="firststep"] .rbi li::before{width:6px;height:6px;border-radius:50%;background:var(--accb);top:.52em}
.rbp[data-t="firststep"] .rbsk span{background:#fff;border:1.5px solid var(--acc2);color:var(--ink);border-radius:8px;font-size:calc(var(--fs) * .92)}
.rbp[data-t="firststep"] .rbsk-list span{border:0}
.rbp[data-t="firststep"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="firststep"] .rbln{padding:3px 0;border-bottom:1px dashed var(--line)}
.rbp[data-t="firststep"] .rbp-run{border-bottom:2px solid var(--acc2);font-size:calc(var(--fs) * .9);padding-top:4px}
.rbp[data-t="firststep"] .rbp-run b{color:var(--acc)}

/* ===================== launchpad · Launchpad =====================
   Light sidebar topped by a colour panel with a scooped corner; highlighter headings in the main column. */
.rbp[data-t="launchpad"] .rbp-grid{grid-template-columns:236px 1fr}
.rbp[data-t="launchpad"] .rbp-side{background:var(--acc2);padding:0 24px var(--pad)}
/* side header: colour panel with a scooped lower corner */
.rbp[data-t="launchpad"] .rbp-side .rbh{margin:0 -24px 6px;padding:var(--pad) 24px 26px;background:var(--acc);border-bottom-right-radius:56px;justify-items:start;row-gap:10px}
.rbp[data-t="launchpad"] .rbp-side .rbh-photo{width:112px;height:112px;border:4px solid var(--accb);background:rgba(255,255,255,.2)}
.rbp[data-t="launchpad"][data-photo=rounded] .rbp-side .rbh-photo{border-radius:20px}
.rbp[data-t="launchpad"] .rbp-side .rbh-name{color:#fff;font-size:calc(var(--fs) * 1.85);line-height:1.1;overflow-wrap:break-word}
.rbp[data-t="launchpad"] .rbp-side .rbh-title{color:#fff;opacity:.92;font-size:calc(var(--fs) * 1)}
.rbp[data-t="launchpad"] .rbp-side .rbh-contact{color:#fff;gap:6px;margin-top:4px;font-size:calc(var(--fs) * .86)}
.rbp[data-t="launchpad"] .rbp-side .rbh-contact>span{gap:8px;align-items:flex-start}
.rbp[data-t="launchpad"] .rbp-side .rbh-contact i{background:#fff!important;margin-top:.15em}
.rbp[data-t="launchpad"] .rbp-side .rbh-qr{color:#fff}
.rbp[data-t="launchpad"] .rbp-side .rbs-h{display:inline-flex;align-self:flex-start;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * .88)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.1em;color:#fff;background:var(--acc);padding:4px 11px;border-radius:999px}
.rbp[data-t="launchpad"] .rbp-side .rbs-h::before{content:none}
.rbp[data-t="launchpad"] .rbp-side .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="launchpad"] .rbp-side .rbs-h-cont::after{color:#fff;opacity:.85;margin-left:4px}
.rbp[data-t="launchpad"] .rbp-side .rbs{display:flex;flex-direction:column}
.rbp[data-t="launchpad"] .rbp-side .rbsk span{background:#fff;color:var(--ink)}
.rbp[data-t="launchpad"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px;padding:2px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.rbp[data-t="launchpad"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}
.rbp[data-t="launchpad"] .rbp-side .rbi-top{display:block}
.rbp[data-t="launchpad"] .rbp-side .rbi-d{display:block}
/* main: big headings with a highlighter stroke */
.rbp[data-t="launchpad"] .rbp-main{padding:var(--pad) var(--pad) var(--pad) 32px}
.rbp[data-t="launchpad"] .rbp-main .rbs-h{display:block;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * 1.32)/1.2 var(--hf);text-transform:none;letter-spacing:-.005em;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="launchpad"] .rbp-main .rbs-h>span{background:linear-gradient(transparent 56%,color-mix(in srgb,var(--accb) 30%,transparent) 56% 92%,transparent 92%);padding:0 3px;margin-left:-3px}
.rbp[data-t="launchpad"] .rbp-main .rbs-h::before{content:none}
.rbp[data-t="launchpad"] .rbp-main .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="launchpad"] .rbi-t{font-size:calc(var(--fs) * 1.05)}
.rbp[data-t="launchpad"] .rbp-main .rbi-d{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .88)}
.rbp[data-t="launchpad"] .rbp-main .rbi-s b{color:var(--acc)}
.rbp[data-t="launchpad"] .rbp-main li::before{background:var(--accb);width:5px;height:5px;top:.58em}
.rbp[data-t="launchpad"] .rbp-main .rbsk span{background:var(--acc2)}
.rbp[data-t="launchpad"] .rbp-run{border-bottom:2px solid var(--acc2);font-size:calc(var(--fs) * .9)}
.rbp[data-t="launchpad"] .rbp-run b{color:var(--acc)}
.rbp[data-t="launchpad"][data-pn]:not([data-pn="1"]) .rbp-side{padding-top:var(--pad)}

/* ===================== stack · Stack =====================
   Header on a faint engineering grid with bracket corners; bracket-corner headings; square skill tags; boxed dates; dashed right column. */
.rbp[data-t="stack"] .rbp-thread{display:none}
.rbp[data-t="stack"] .rbp-grid{grid-template-columns:1fr 232px}
.rbp[data-t="stack"] .rbp-top{position:relative;padding:calc(var(--pad) - 2px) var(--pad) calc(24px * var(--gap));border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,transparent 0 17px,rgba(127,140,160,.13) 17px 18px),repeating-linear-gradient(90deg,transparent 0 17px,rgba(127,140,160,.13) 17px 18px),#fff}
.rbp[data-t="stack"] .rbp-top::before,.rbp[data-t="stack"] .rbp-top::after{content:"";position:absolute;width:22px;height:22px;border:3px solid var(--acc);pointer-events:none}
.rbp[data-t="stack"] .rbp-top::before{left:calc(var(--pad) - 16px);top:calc(var(--pad) - 18px);border-right:0;border-bottom:0}
.rbp[data-t="stack"] .rbp-top::after{right:calc(var(--pad) - 16px);bottom:10px;border-left:0;border-top:0}
.rbp[data-t="stack"] .rbh{column-gap:20px}
.rbp[data-t="stack"] .rbh-photo{border-radius:6px;border:2px solid var(--acc);background:#fff}
.rbp[data-t="stack"][data-photo=circle] .rbh-photo{border-radius:50%}
.rbp[data-t="stack"] .rbh-name{font-size:calc(var(--fs) * 2.6);line-height:1.05;letter-spacing:-.02em;overflow-wrap:break-word}
.rbp[data-t="stack"] .rbh-title{display:inline-block;margin-top:7px;padding:1px 9px;border:1.5px solid var(--acc);color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.02);background:#fff}
.rbp[data-t="stack"] .rbh-contact{gap:3px 16px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="stack"] .rbh-contact>span{background:#fff}
.rbp[data-t="stack"] .rbh-contact i{border-radius:0;width:6px;height:6px;background:var(--accb)}
.rbp[data-t="stack"] .rbp-main{padding-top:calc(22px * var(--gap));padding-right:26px}
.rbp[data-t="stack"] .rbp-side{background:none;border-left:1.5px dashed var(--line);padding:calc(22px * var(--gap)) var(--pad) var(--pad) 22px}
/* headings: bracket corner + caps */
.rbp[data-t="stack"] .rbs-h{position:relative;display:block;margin-bottom:calc(10px * var(--gap));padding:4px 0 0 13px;font:700 calc(var(--fs) * .95)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.12em;color:var(--ink);background:none;border-radius:0}
.rbp[data-t="stack"] .rbs-h::before{content:"";position:absolute;left:0;top:0;width:9px;height:calc(100% + 2px);border-left:3px solid var(--acc);border-top:3px solid var(--acc);border-radius:0;background:none}
.rbp[data-t="stack"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="stack"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
.rbp[data-t="stack"] .rbi-top{align-items:center}
.rbp[data-t="stack"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="stack"] .rbi-d{border:1px solid var(--line);background:#f6f8fb;border-radius:3px;padding:0 7px;color:var(--ink);font-size:calc(var(--fs) * .84);line-height:1.6}
.rbp[data-t="stack"] .rbi-s b{color:var(--acc)}
.rbp[data-t="stack"] .rbi li::before{width:6px;height:6px;border-radius:0;background:none;border:1.5px solid var(--acc);top:.48em}
.rbp[data-t="stack"] .rbsk{gap:5px}
.rbp[data-t="stack"] .rbsk span{background:#fff;border:1px solid var(--acc);color:var(--acc);border-radius:0;font-size:calc(var(--fs) * .88);font-weight:700;padding:1px 7px}
.rbp[data-t="stack"] .rbsk-list span{border:0;font-weight:400;color:var(--ink)}
.rbp[data-t="stack"] .rbp-side .rbi-top{display:block}
.rbp[data-t="stack"] .rbp-side .rbi-d{display:block;width:fit-content;margin-top:2px}
.rbp[data-t="stack"] .rbp-side .rbi-t{font-size:calc(var(--fs) * .98)}
.rbp[data-t="stack"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px;padding:2px 0;border-bottom:1px dashed var(--line)}
.rbp[data-t="stack"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}
.rbp[data-t="stack"] .rbp-main .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:26px}
.rbp[data-t="stack"] .rbp-run{border-bottom:1.5px dashed var(--line);font-size:calc(var(--fs) * .9)}
.rbp[data-t="stack"] .rbp-run b{color:var(--acc)}
.rbp[data-t="stack"][data-pn]:not([data-pn="1"]) .rbp-main,.rbp[data-t="stack"][data-pn]:not([data-pn="1"]) .rbp-side{padding-top:var(--pad)}

/* ===================== target · Target =====================
   Colour header cut on a diagonal with a second-colour seam; chevron headings and chevron bullets. */
.rbp[data-t="target"]{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 1.5 7.5 6 3 10.5' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.rbp[data-t="target"] .rbp-top{padding:calc(var(--pad) - 4px) var(--pad) calc(var(--pad) + 26px);background:linear-gradient(112deg,var(--acc) 0 83%,var(--accb) 83% 84.6%,var(--acc) 84.6% 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 34px))}
.rbp[data-t="target"] .rbh{column-gap:22px}
.rbp[data-t="target"] .rbh-photo{width:104px;height:104px;border:4px solid #fff}
.rbp[data-t="target"][data-photo=rounded] .rbh-photo{border-radius:18px}
.rbp[data-t="target"] .rbh-name{color:#fff;font-size:calc(var(--fs) * 2.6);line-height:1.05;letter-spacing:-.01em;overflow-wrap:break-word;text-transform:uppercase}
.rbp[data-t="target"] .rbh-title{color:#fff;font-weight:700;font-size:calc(var(--fs) * 1.08);margin-top:5px;letter-spacing:.02em}
.rbp[data-t="target"] .rbh-contact{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:4px 24px;margin-top:12px;color:#fff;font-size:calc(var(--fs) * .9)}
.rbp[data-t="target"] .rbh-contact>span{gap:7px}
.rbp[data-t="target"] .rbh-contact i{background:var(--accb)!important}
.rbp[data-t="target"][data-pn]:not([data-pn="1"]) .rbp-top{padding:0;height:40px}
.rbp[data-t="target"] .rbp-main{padding-top:calc(18px * var(--gap))}
/* headings: chevron in the second colour */
.rbp[data-t="target"] .rbs-h{display:flex;align-items:center;gap:8px;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.08)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.06em;color:var(--acc);background:none;padding:0;border-radius:0}
.rbp[data-t="target"] .rbs-h::before{content:"";width:13px;height:13px;flex:none;border-radius:0;background:var(--accb);-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;box-shadow:none}
.rbp[data-t="target"] .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--acc),transparent)}
.rbp[data-t="target"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
.rbp[data-t="target"] .rbi-t{font-size:calc(var(--fs) * 1.07)}
.rbp[data-t="target"] .rbi-d{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .9)}
.rbp[data-t="target"] .rbi-s b{color:var(--ink)}
.rbp[data-t="target"] .rbi li{padding-left:15px}
.rbp[data-t="target"] .rbi li::before{width:8px;height:8px;top:.42em;left:0;border-radius:0;background:var(--accb);-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat}
.rbp[data-t="target"] .rbsk span{background:none;border-radius:0;border-bottom:2px solid var(--accb);padding:0 2px 1px;font-weight:700}
.rbp[data-t="target"] .rbsk{gap:6px 14px}
.rbp[data-t="target"] .rbsk-list span{border:0;font-weight:400}
.rbp[data-t="target"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="target"] .rbln{padding:3px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="target"] .rbp-run{border-bottom:2px solid var(--acc);font-size:calc(var(--fs) * .9)}
.rbp[data-t="target"] .rbp-run b{color:var(--acc)}

/* ===================== treasury · Treasury =====================
   Centred serif letterhead with a double rule; centred headings between hairlines; quiet, formal body. */
.rbp[data-t="treasury"] .rbp-thread{display:none}
.rbp[data-t="treasury"] .rbh{border:0;padding-bottom:calc(16px * var(--gap));background:linear-gradient(var(--acc),var(--acc)) left bottom/100% 1px no-repeat,linear-gradient(var(--acc),var(--acc)) left calc(100% - 4px)/100% 3px no-repeat;row-gap:4px}
.rbp[data-t="treasury"] .rbh-photo{width:88px;height:88px;border:1px solid var(--accb);padding:3px;background:#fff}
.rbp[data-t="treasury"] .rbh-photo img{border-radius:inherit}
.rbp[data-t="treasury"] .rbh-name{font-size:calc(var(--fs) * 2.3);line-height:1.15;letter-spacing:.03em;color:var(--acc);overflow-wrap:break-word}
.rbp[data-t="treasury"] .rbh-title{color:var(--ink);font-size:calc(var(--fs) * .95);text-transform:uppercase;letter-spacing:.18em;margin-top:6px}
.rbp[data-t="treasury"] .rbh-contact{gap:2px 0;margin-top:8px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="treasury"] .rbh-contact>span{padding:0 11px;border-left:1px solid var(--accb)}
.rbp[data-t="treasury"] .rbh-contact>span:first-child{border-left:0}
.rbp[data-t="treasury"] .rbh-contact i{display:none}
/* headings: centred small caps between hairlines */
.rbp[data-t="treasury"] .rbs-h{display:flex;align-items:center;gap:14px;margin:calc(4px * var(--gap)) 0 calc(9px * var(--gap));font:700 calc(var(--fs) * .92)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.2em;color:var(--acc);background:none;padding:0;border-radius:0;text-align:center}
.rbp[data-t="treasury"] .rbs-h::before{content:"";flex:1;height:1px;background:var(--accb);width:auto;border-radius:0}
.rbp[data-t="treasury"] .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:1px;background:var(--accb)}
.rbp[data-t="treasury"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
.rbp[data-t="treasury"] .rbi-t{font:700 calc(var(--fs) * 1.04)/1.35 var(--hf)}
.rbp[data-t="treasury"] .rbi-d{color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="treasury"] .rbi-s{color:var(--mute)}
.rbp[data-t="treasury"] .rbi li::before{width:4px;height:4px;border-radius:0;transform:rotate(45deg);background:var(--accb);top:.62em}
.rbp[data-t="treasury"] .rbsum{text-align:justify;hyphens:none}
.rbp[data-t="treasury"] .rbsk{justify-content:center}
.rbp[data-t="treasury"] .rbsk span{background:none;border:1px solid var(--line);border-radius:0}
.rbp[data-t="treasury"] .rbsk-list span{border:0}
.rbp[data-t="treasury"] .rbsk-list span:not(:last-child)::after{content:"◆";font-size:.55em;vertical-align:.25em;color:var(--accb);margin-left:9px}
.rbp[data-t="treasury"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:34px}
.rbp[data-t="treasury"] .rbln{padding:2px 0;border-bottom:1px dotted var(--line)}
.rbp[data-t="treasury"] .rbdecl{border-top:1px solid var(--line);padding-top:8px}
.rbp[data-t="treasury"] .rbp-run{text-align:center;border-bottom:0;padding-bottom:10px;background:linear-gradient(var(--acc),var(--acc)) left bottom/100% 1px no-repeat,linear-gradient(var(--acc),var(--acc)) left calc(100% - 3px)/100% 2px no-repeat;font-size:calc(var(--fs) * .9)}
.rbp[data-t="treasury"] .rbp-run b{color:var(--acc);letter-spacing:.04em}

.rbp[data-t="treasury"] .rbs-h-cont{justify-content:center}
.rbp[data-t="treasury"] .rbs-h-cont::before{content:none}

/* ===================== notebook · Notebook =====================
   Exercise-book margin (double line) down the page; headings marked with a highlighter stroke. */
.rbp[data-t="notebook"]{--ml:calc(var(--pad) + 34px)}
/* the exercise-book margin: a double line in the second colour */
.rbp[data-t="notebook"] .rbp-thread{left:calc(var(--pad) + 10px);width:5px;background:none;border-left:1px solid var(--accb);border-right:1px solid var(--accb);opacity:.75}
.rbp[data-t="notebook"] .rbp-main{padding-left:var(--ml)}
.rbp[data-t="notebook"] .rbh{border:0;padding-bottom:calc(14px * var(--gap));background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 10px) left bottom/100% 1px no-repeat}
.rbp[data-t="notebook"] .rbh-photo{width:92px;height:92px;border:3px solid #fff;outline:1px solid var(--line)}
.rbp[data-t="notebook"] .rbh-name{font-size:calc(var(--fs) * 2.5);line-height:1.1;overflow-wrap:break-word}
.rbp[data-t="notebook"] .rbh-title{color:var(--acc);font-size:calc(var(--fs) * 1.15)}
.rbp[data-t="notebook"] .rbh-contact{gap:2px 16px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="notebook"] .rbh-contact i{width:7px;height:7px;border-radius:50%;background:none;border:1.5px solid var(--acc)}
/* headings: highlighter stroke behind the words */
.rbp[data-t="notebook"] .rbs-h{display:block;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * 1.3)/1.25 var(--hf);text-transform:none;letter-spacing:0;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="notebook"] .rbs-h>span,.rbp[data-t="notebook"] .rbs-h-cont{display:inline-block;background:linear-gradient(color-mix(in srgb,var(--accb) 34%,transparent),color-mix(in srgb,var(--accb) 34%,transparent)) left 0 top .5em/100% .55em no-repeat;padding:0 7px 1px;margin-left:-7px}
.rbp[data-t="notebook"] .rbs-h::before{content:none}
.rbp[data-t="notebook"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="notebook"] .rbs-h-cont::after{font-size:calc(var(--fs) * .8)}
.rbp[data-t="notebook"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="notebook"] .rbi-d{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .9)}
.rbp[data-t="notebook"] .rbi-s b{color:var(--ink)}
.rbp[data-t="notebook"] .rbi li::before{width:6px;height:6px;border-radius:50%;background:none;border:1.5px solid var(--accb);top:.52em}
.rbp[data-t="notebook"] .rbsk span{background:none;border:1px solid var(--acc);color:var(--acc);border-radius:4px}
.rbp[data-t="notebook"] .rbsk-list span{border:0;color:var(--ink)}
.rbp[data-t="notebook"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="notebook"] .rbln{padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="notebook"] .rbp-run{border-bottom:1px dashed var(--line);font-size:calc(var(--fs) * .9)}
.rbp[data-t="notebook"] .rbp-run b{color:var(--acc)}

/* ===================== vital · Vital =====================
   Tinted top with photo on the right; left info column; headings with a fading tint bar; dates in filled tags. */
.rbp[data-t="vital"] .rbp-thread{display:none}
.rbp[data-t="vital"] .rbp-grid{grid-template-columns:226px 1fr}
.rbp[data-t="vital"] .rbp-top{padding:calc(var(--pad) - 2px) var(--pad) calc(24px * var(--gap));border:0;background:linear-gradient(var(--acc),var(--acc)) top/100% 6px no-repeat,var(--acc2)}
.rbp[data-t="vital"] .rbh,.rbp[data-t="vital"] .rbh.has-ph{grid-template-columns:1fr auto;grid-template-areas:"txt ph" "ct ph";column-gap:26px}
.rbp[data-t="vital"] .rbh.has-qr{grid-template-columns:1fr auto;grid-template-areas:"txt qr" "ct qr"}
.rbp[data-t="vital"] .rbh.has-ph.has-qr{grid-template-columns:1fr auto auto;grid-template-areas:"txt qr ph" "ct qr ph"}
.rbp[data-t="vital"] .rbh-photo{width:94px;height:112px;border:4px solid #fff;border-radius:14px;background:#fff}
.rbp[data-t="vital"][data-photo=circle] .rbh-photo{height:94px;border-radius:50%}.rbp[data-t="vital"][data-photo=square] .rbh-photo{border-radius:0}
.rbp[data-t="vital"] .rbh-name{font-size:calc(var(--fs) * 2.55);line-height:1.06;overflow-wrap:break-word}
.rbp[data-t="vital"] .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.12)}
.rbp[data-t="vital"] .rbh-contact{gap:3px 18px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="vital"] .rbh-contact i{width:8px;height:8px;border-radius:2px;background:var(--acc)}
.rbp[data-t="vital"] .rbp-side{grid-row:2;grid-column:1;background:none;border-right:1px solid var(--line);padding:calc(22px * var(--gap)) 20px var(--pad) var(--pad)}
.rbp[data-t="vital"] .rbp-main{grid-row:2;grid-column:2;padding:calc(22px * var(--gap)) var(--pad) var(--pad) 26px}
/* headings: colour bar fading out into the tint */
.rbp[data-t="vital"] .rbs-h{display:block;margin-bottom:calc(9px * var(--gap));padding:4px 10px;font:700 calc(var(--fs) * 1.02)/1.25 var(--hf);text-transform:none;letter-spacing:.02em;color:var(--acc);background:linear-gradient(90deg,var(--acc2),rgba(255,255,255,0));border-left:3px solid var(--acc);border-radius:0}
.rbp[data-t="vital"] .rbs-h::before{content:none}
.rbp[data-t="vital"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="vital"] .rbs-h-cont::after{font-size:calc(var(--fs) * .8)}
/* dates in filled tags */
.rbp[data-t="vital"] .rbi-top{align-items:center}
.rbp[data-t="vital"] .rbi-t{font-size:calc(var(--fs) * 1.05)}
.rbp[data-t="vital"] .rbi-d{background:var(--acc2);color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .84);padding:0 8px;border-radius:4px;line-height:1.6}
.rbp[data-t="vital"] .rbi li::before{width:5px;height:5px;background:var(--accb);top:.6em}
.rbp[data-t="vital"] .rbsk span{background:#fff;border:1px solid var(--line);border-radius:4px}
.rbp[data-t="vital"] .rbsk-list span{border:0}
.rbp[data-t="vital"] .rbp-side .rbsk span{font-size:calc(var(--fs) * .88)}
.rbp[data-t="vital"] .rbp-side .rbi-top{display:block}
.rbp[data-t="vital"] .rbp-side .rbi-d{display:block;width:fit-content;margin-top:2px}
.rbp[data-t="vital"] .rbp-side .rbi-t{font-size:calc(var(--fs) * .98)}
.rbp[data-t="vital"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px;padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="vital"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}
.rbp[data-t="vital"] .rbp-main .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:26px}
.rbp[data-t="vital"] .rbp-run{border-bottom:2px solid var(--acc2);font-size:calc(var(--fs) * .9)}
.rbp[data-t="vital"] .rbp-run b{color:var(--acc)}
.rbp[data-t="vital"][data-pn]:not([data-pn="1"]) .rbp-main,.rbp[data-t="vital"][data-pn]:not([data-pn="1"]) .rbp-side{padding-top:var(--pad)}

/* ===================== seva · Seva =====================
   Ruled form layout: bordered header box with photo, every section in a bordered panel with a shaded title row, personal details as a table. */
.rbp[data-t="seva"] .rbp-thread{display:none}
.rbp[data-t="seva"] .rbp-main{padding:calc(var(--pad) - 6px) calc(var(--pad) - 6px)}
.rbp[data-t="seva"] .rbp-flow{gap:calc(10px * var(--gap))}
/* header in a bordered box, passport photo on the right */
.rbp[data-t="seva"] .rbh{border:1.5px solid var(--ink);padding:14px 16px;column-gap:18px;align-items:center}
.rbp[data-t="seva"] .rbh.has-ph{grid-template-columns:1fr auto;grid-template-areas:"txt ph" "ct ph"}
.rbp[data-t="seva"] .rbh-photo{width:96px;height:118px;border:1px solid var(--ink);border-radius:0;padding:3px;background:#fff}
.rbp[data-t="seva"] .rbh-name{font-size:calc(var(--fs) * 2.05);line-height:1.12;letter-spacing:.04em;text-transform:uppercase;color:var(--acc);overflow-wrap:break-word}
.rbp[data-t="seva"] .rbh-title{color:var(--ink);font-weight:700;font-size:calc(var(--fs) * 1.05);margin-top:4px}
.rbp[data-t="seva"] .rbh-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="seva"] .rbh-contact i{width:5px;height:5px;border-radius:0;background:var(--ink)}
/* every section is a ruled panel with a shaded title row */
.rbp[data-t="seva"] .rbs{border:1px solid var(--ink);border-top-width:0;padding:7px 12px}
.rbp[data-t="seva"] .rbs:has(> .rbs-h){border-top-width:1px;padding-top:0}
.rbp[data-t="seva"] .rbs:has(+ .rbs>.rbi:first-child){border-bottom:0;padding-bottom:3px}
.rbp[data-t="seva"] .rbp-flow>.rbs:not(:has(> .rbs-h)){margin-top:calc(-10px * var(--gap));padding-top:3px}
.rbp[data-t="seva"] .rbs:not(:has(> .rbs-h)):not(.rbs-more)>.rbi{border-top:1px dotted var(--line);padding-top:6px}
.rbp[data-t="seva"] .rbs-h{display:block;margin:0 -12px calc(7px * var(--gap));padding:4px 12px;font:700 calc(var(--fs) * .95)/1.3 var(--hf);text-transform:uppercase;letter-spacing:.1em;color:var(--acc);background:var(--acc2);border-bottom:1px solid var(--ink);border-radius:0}
.rbp[data-t="seva"] .rbs-h::before{content:none}
.rbp[data-t="seva"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="seva"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
.rbp[data-t="seva"] .rbi-t{font-size:calc(var(--fs) * 1.04)}
.rbp[data-t="seva"] .rbi-d{color:var(--ink);font-weight:700;font-size:calc(var(--fs) * .9)}
.rbp[data-t="seva"] .rbi-s b{color:var(--ink)}
.rbp[data-t="seva"] .rbi li::before{width:5px;height:5px;border-radius:0;background:var(--ink);top:.58em}
.rbp[data-t="seva"] .rbsk span{background:none;border:1px solid var(--line);border-radius:0}
.rbp[data-t="seva"] .rbsk-list span{border:0}
.rbp[data-t="seva"] .rbsk-list span:not(:last-child)::after{content:",";margin-left:0;color:var(--ink)}
/* personal details and languages as a two-column table */
.rbp[data-t="seva"] .rbs>.rbi:has(.rbln){margin:0 -12px -7px}
.rbp[data-t="seva"] .rbln{display:grid;grid-template-columns:minmax(0,36%) 1fr;gap:0;border-top:1px solid var(--line)}
.rbp[data-t="seva"] .rbln:first-child{border-top:0}
.rbp[data-t="seva"] .rbln span{padding:3px 12px}
.rbp[data-t="seva"] .rbln span:first-child{background:#f5f6f8;border-right:1px solid var(--line);font-weight:700}
.rbp[data-t="seva"] .rbln span:last-child{color:var(--ink)}
.rbp[data-t="seva"] .rbdecl{margin-top:16px}
.rbp[data-t="seva"] .rbdecl-sign{padding-top:22px;border-top:0;position:relative}
.rbp[data-t="seva"] .rbdecl-sign::before{content:"";position:absolute;left:0;right:0;top:16px;border-top:1px solid var(--ink)}
.rbp[data-t="seva"] .rbp-run{border:1px solid var(--ink);padding:5px 12px;font-size:calc(var(--fs) * .9)}
.rbp[data-t="seva"] .rbp-run b{color:var(--acc);text-transform:uppercase;letter-spacing:.04em}

/* ===================== horizon · Horizon =====================
   Photo header with a two-colour horizon line; right column of panels for personal, visa and passport details; icon contact grid. */
.rbp[data-t="horizon"] .rbp-thread{display:none}
.rbp[data-t="horizon"] .rbp-grid{grid-template-columns:1fr 240px}
.rbp[data-t="horizon"] .rbp-top{padding:calc(var(--pad) - 4px) var(--pad) calc(22px * var(--gap));border:0;background:linear-gradient(90deg,var(--acc) 0 64%,var(--accb) 64%) left bottom/100% 5px no-repeat}
.rbp[data-t="horizon"] .rbh{column-gap:22px}
.rbp[data-t="horizon"] .rbh-photo{width:100px;height:120px;border-radius:6px;border:0;background:var(--acc2)}
.rbp[data-t="horizon"][data-photo=circle] .rbh-photo{height:100px;border-radius:50%}.rbp[data-t="horizon"][data-photo=square] .rbh-photo{border-radius:0}
.rbp[data-t="horizon"] .rbh-name{font-size:calc(var(--fs) * 2.45);line-height:1.08;letter-spacing:-.01em;overflow-wrap:break-word}
.rbp[data-t="horizon"] .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.12)}
.rbp[data-t="horizon"] .rbh-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 20px;margin-top:12px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="horizon"] .rbh-contact>span{gap:8px;align-items:flex-start}
.rbp[data-t="horizon"] .rbh-contact i{background:var(--acc)!important;margin-top:.15em}
.rbp[data-t="horizon"] .rbp-main{padding-top:calc(22px * var(--gap));padding-right:24px}
.rbp[data-t="horizon"] .rbp-side{background:none;padding:calc(22px * var(--gap)) var(--pad) var(--pad) 0}
.rbp[data-t="horizon"] .rbp-side .rbp-flow{gap:calc(12px * var(--gap))}
/* side: each section a tinted panel with a colour cap */
.rbp[data-t="horizon"] .rbp-side .rbs{background:var(--acc2);border-top:3px solid var(--acc);padding:10px 13px}
.rbp[data-t="horizon"] .rbp-side .rbs:has(+ .rbs>.rbi:first-child){padding-bottom:3px}
.rbp[data-t="horizon"] .rbp-side .rbp-flow>.rbs:not(:has(> .rbs-h)){margin-top:calc(-12px * var(--gap));border-top:0;padding-top:3px}
.rbp[data-t="horizon"] .rbp-side .rbs-h{display:block;margin-bottom:calc(7px * var(--gap));font:700 calc(var(--fs) * .9)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.1em;color:var(--acc);background:none;padding:0}
.rbp[data-t="horizon"] .rbp-side .rbs-h::before{content:none}
.rbp[data-t="horizon"] .rbp-side .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="horizon"] .rbp-side .rbln{display:block;padding:3px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.rbp[data-t="horizon"] .rbp-side .rbln:last-child{border-bottom:0}
.rbp[data-t="horizon"] .rbp-side .rbln span{display:block}
.rbp[data-t="horizon"] .rbp-side .rbln span:first-child{font-size:calc(var(--fs) * .86);color:var(--mute)}
.rbp[data-t="horizon"] .rbp-side .rbln span:last-child{color:var(--ink);font-weight:700}
.rbp[data-t="horizon"] .rbp-side .rbsk span{background:#fff;font-size:calc(var(--fs) * .88);border-radius:3px}
.rbp[data-t="horizon"] .rbp-side .rbi-top{display:block}
.rbp[data-t="horizon"] .rbp-side .rbi-d{display:block}
.rbp[data-t="horizon"] .rbp-side .rbi-t{font-size:calc(var(--fs) * .98)}
/* main headings: small second-colour square and a long rule */
.rbp[data-t="horizon"] .rbp-main .rbs-h{display:flex;align-items:center;gap:9px;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.02)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.08em;color:var(--acc);background:none;padding:0;border-radius:0}
.rbp[data-t="horizon"] .rbp-main .rbs-h::before{content:"";width:9px;height:9px;flex:none;background:var(--accb);border-radius:0}
.rbp[data-t="horizon"] .rbp-main .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:1px;background:var(--acc);opacity:.35}
.rbp[data-t="horizon"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
.rbp[data-t="horizon"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="horizon"] .rbp-main .rbi-d{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .9)}
.rbp[data-t="horizon"] .rbi-s b{color:var(--ink)}
.rbp[data-t="horizon"] .rbp-main li::before{width:5px;height:5px;border-radius:0;background:var(--accb);top:.6em}
.rbp[data-t="horizon"] .rbp-main .rbsk span{background:var(--acc2)}
.rbp[data-t="horizon"] .rbp-main .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.rbp[data-t="horizon"] .rbp-run{border-bottom:3px solid var(--acc);font-size:calc(var(--fs) * .9)}
.rbp[data-t="horizon"] .rbp-run b{color:var(--acc)}
.rbp[data-t="horizon"][data-pn]:not([data-pn="1"]) .rbp-main,.rbp[data-t="horizon"][data-pn]:not([data-pn="1"]) .rbp-side{padding-top:var(--pad)}

/* ===================== circuit · Circuit =====================
   Right sidebar with a printed dot-grid pattern; outlined headings with a trace line ending in a node. */
.rbp[data-t="circuit"] .rbp-grid{grid-template-columns:1fr 246px}
.rbp[data-t="circuit"] .rbp-side{background:radial-gradient(circle,rgba(255,255,255,.16) 1.2px,transparent 1.6px) 0 0/14px 14px,var(--acc);padding:var(--pad) 24px}
.rbp[data-t="circuit"] .rbp-side .rbh{row-gap:6px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.3)}
.rbp[data-t="circuit"] .rbp-side .rbh-photo{width:104px;height:104px;border:3px solid var(--accb);border-radius:10px}
.rbp[data-t="circuit"][data-photo=circle] .rbp-side .rbh-photo{border-radius:50%}
.rbp[data-t="circuit"] .rbp-side .rbh-name{font-size:calc(var(--fs) * 1.85);line-height:1.08;overflow-wrap:break-word}
.rbp[data-t="circuit"] .rbp-side .rbh-title{color:#fff;opacity:.88;font-weight:700;font-size:calc(var(--fs) * 1)}
.rbp[data-t="circuit"] .rbp-side .rbh-contact{gap:6px;margin-top:6px;font-size:calc(var(--fs) * .86)}
.rbp[data-t="circuit"] .rbp-side .rbh-contact>span{gap:8px;align-items:flex-start}
.rbp[data-t="circuit"] .rbp-side .rbh-contact i{background:var(--accb)!important;margin-top:.15em}
.rbp[data-t="circuit"] .rbp-side .rbs-h{display:block;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * .9)/1.2 var(--hf);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:none;padding:0}
.rbp[data-t="circuit"] .rbp-side .rbs-h::before{content:none}
.rbp[data-t="circuit"] .rbp-side .rbs-h:not(.rbs-h-cont)::after{content:"";display:block;margin-top:5px;width:100%;height:1px;background:linear-gradient(90deg,var(--accb) 0 22px,rgba(255,255,255,.3) 22px)}
.rbp[data-t="circuit"] .rbp-side .rbsk span{background:rgba(255,255,255,.12);border-radius:3px;border:1px solid rgba(255,255,255,.25)}
.rbp[data-t="circuit"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px;padding:2px 0}
.rbp[data-t="circuit"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}
.rbp[data-t="circuit"] .rbp-side .rbi-top{display:block}
.rbp[data-t="circuit"] .rbp-side .rbi-d{display:block}
.rbp[data-t="circuit"] .rbp-side li::before{background:var(--accb)}
.rbp[data-t="circuit"] .rbp-main{padding:var(--pad) 30px var(--pad) var(--pad)}
/* main headings: outlined label with a trace line ending in a node */
.rbp[data-t="circuit"] .rbp-main .rbs-h{display:flex;align-items:center;gap:0;margin-bottom:calc(10px * var(--gap));font:700 calc(var(--fs) * .92)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.1em;color:var(--acc);background:none;padding:0;border-radius:0}
.rbp[data-t="circuit"] .rbp-main .rbs-h>span,.rbp[data-t="circuit"] .rbp-main .rbs-h-cont{border:1.5px solid var(--acc);border-radius:4px;padding:3px 9px}
.rbp[data-t="circuit"] .rbp-main .rbs-h::before{content:none}
.rbp[data-t="circuit"] .rbp-main .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:8px;background:radial-gradient(circle,var(--acc) 0 3px,transparent 3.5px) right center/8px 8px no-repeat,linear-gradient(var(--acc),var(--acc)) left center/calc(100% - 6px) 1.5px no-repeat}
.rbp[data-t="circuit"] .rbp-main .rbs-h-cont::after{text-transform:none;letter-spacing:0;margin-left:8px}
.rbp[data-t="circuit"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="circuit"] .rbp-main .rbi-d{font-size:calc(var(--fs) * .84);color:var(--acc);background:var(--acc2);padding:0 7px;border-radius:3px;line-height:1.6;font-weight:700}
.rbp[data-t="circuit"] .rbp-main .rbi-top{align-items:center}
.rbp[data-t="circuit"] .rbp-main li::before{width:5px;height:5px;border-radius:50%;background:none;border:1.5px solid var(--acc);top:.55em}
.rbp[data-t="circuit"] .rbp-main .rbsk span{background:none;border:1px solid var(--acc);border-radius:3px}
.rbp[data-t="circuit"] .rbp-main .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:26px}
.rbp[data-t="circuit"] .rbp-run{border-bottom:1.5px solid var(--acc);font-size:calc(var(--fs) * .9)}
.rbp[data-t="circuit"] .rbp-run b{color:var(--acc)}


/* H View Resume Builder: new Pro template styles (batch 3 of 3).
   Every rule is scoped to its template with .rbp[data-t="key"]. Colours use --acc / --accb / --acc2, type uses --hf / --bf / --fs. */

/* ---- shared: contact icons drawn as CSS masks (used by: canvas, terrace, vector) ----
   Icons follow the contact order email, phone, location, link. */
.rbp[data-t="canvas"],
.rbp[data-t="terrace"],
.rbp[data-t="vector"]{
--ic-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 7l8 6 8-6' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ic-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6.5' y='2.5' width='11' height='19' rx='2.5' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5 18h3' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--ic-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.5s6.5-6.6 6.5-11.6a6.5 6.5 0 0 0-13 0c0 5 6.5 11.6 6.5 11.6z' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='9.8' r='2.4' fill='black'/%3E%3C/svg%3E");
--ic-link:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 14a4 4 0 0 0 5.66 0l3.17-3.17a4 4 0 0 0-5.66-5.66L12 6.34' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 10a4 4 0 0 0-5.66 0l-3.17 3.17a4 4 0 0 0 5.66 5.66L12 17.66' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.rbp[data-t="canvas"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="canvas"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="canvas"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="canvas"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="terrace"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="terrace"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="terrace"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="terrace"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="vector"] .rbh-contact>span:nth-child(1)>i{--ic:var(--ic-mail)}.rbp[data-t="vector"] .rbh-contact>span:nth-child(2)>i{--ic:var(--ic-phone)}.rbp[data-t="vector"] .rbh-contact>span:nth-child(3)>i{--ic:var(--ic-pin)}.rbp[data-t="vector"] .rbh-contact>span:nth-child(4)>i{--ic:var(--ic-link)}
.rbp[data-t="canvas"] .rbh-contact i,
.rbp[data-t="terrace"] .rbh-contact i,
.rbp[data-t="vector"] .rbh-contact i{width:calc(var(--fs) * 1.05);height:calc(var(--fs) * 1.05);border-radius:0;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* ===================== boardroom · Boardroom =====================
   Two-page executive: name beside a ruled title/contact block, rules above each heading, profile as a lead paragraph, page 2 opens with a colour name bar. */
.rbp[data-t="boardroom"] .rbp-thread{display:none}
/* header: big serif name on the left, title and contact in a ruled block on the right */
.rbp[data-t="boardroom"] .rbh,.rbp[data-t="boardroom"] .rbh.has-ph{border:0;padding-bottom:calc(14px * var(--gap));column-gap:26px;align-items:center;background:linear-gradient(var(--acc),var(--acc)) left bottom/100% 3px no-repeat}
.rbp[data-t="boardroom"] .rbh{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"txt ct"}
.rbp[data-t="boardroom"] .rbh.has-ph{grid-template-columns:auto minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"ph txt ct"}
.rbp[data-t="boardroom"] .rbh.has-qr{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;grid-template-areas:"txt ct qr"}
.rbp[data-t="boardroom"] .rbh.has-ph.has-qr{grid-template-columns:auto minmax(0,1.25fr) minmax(0,1fr) auto;grid-template-areas:"ph txt ct qr"}
.rbp[data-t="boardroom"] .rbh-photo{width:88px;height:88px}
.rbp[data-t="boardroom"] .rbh-name{font-size:calc(var(--fs) * 2.55);line-height:1.12;color:var(--acc);letter-spacing:-.01em;overflow-wrap:break-word}
.rbp[data-t="boardroom"] .rbh-txt .rbh-title{color:var(--ink);font-size:calc(var(--fs) * 1.05);margin-top:6px}
.rbp[data-t="boardroom"] .rbh-contact{flex-direction:column;align-items:flex-start;align-self:center;gap:2px;margin:0;padding-left:18px;border-left:1px solid var(--accb);color:var(--ink);font-size:calc(var(--fs) * .88)}
.rbp[data-t="boardroom"] .rbh-contact span{flex-direction:row!important;text-align:left}
.rbp[data-t="boardroom"] .rbh-contact i{width:5px;height:5px;border-radius:0;background:var(--accb)}
/* headings: full rule above, small caps below */
.rbp[data-t="boardroom"] .rbs-h{display:block;margin:calc(2px * var(--gap)) 0 calc(9px * var(--gap));padding-top:7px;border-top:1px solid var(--ink);font:700 calc(var(--fs) * .95)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.16em;color:var(--acc);background:none;border-radius:0}
.rbp[data-t="boardroom"] .rbs-h::before{content:none}
.rbp[data-t="boardroom"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="boardroom"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
/* profile as a lead paragraph */
.rbp[data-t="boardroom"] .rbsum{font-size:calc(var(--fs) * 1.06);line-height:1.6;padding-left:14px;border-left:3px solid var(--accb)}
.rbp[data-t="boardroom"] .rbdecl{padding-left:14px}
.rbp[data-t="boardroom"] .rbi-t{font:700 calc(var(--fs) * 1.1)/1.3 var(--hf);color:var(--ink)}
.rbp[data-t="boardroom"] .rbi-d{font-size:calc(var(--fs) * .86);text-transform:uppercase;letter-spacing:.08em;color:var(--acc);font-weight:700}
.rbp[data-t="boardroom"] .rbi-s{margin-top:1px}
.rbp[data-t="boardroom"] .rbi-s b{color:var(--acc)}
.rbp[data-t="boardroom"] .rbi li::before{width:7px;height:1.5px;border-radius:0;top:.75em;background:var(--accb)}
.rbp[data-t="boardroom"] .rbsk-list span:not(:last-child)::after{content:"|";color:var(--accb);margin-left:9px}
.rbp[data-t="boardroom"] .rbsk:not(.rbsk-list) span{background:none;border:1px solid var(--line);border-radius:0}
.rbp[data-t="boardroom"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:34px}
.rbp[data-t="boardroom"] .rbln{padding:2px 0;border-bottom:1px solid var(--line)}
/* page 2: a colour name bar across the top */
.rbp[data-t="boardroom"] .rbp-run{margin:calc(var(--pad) * -1) calc(var(--pad) * -1) 6px;padding:14px var(--pad);background:var(--acc);color:#fff;border:0;font-size:calc(var(--fs) * .92);letter-spacing:.02em}
.rbp[data-t="boardroom"] .rbp-run b{color:#fff;font:700 calc(var(--fs) * 1.1) var(--hf);margin-right:4px}

/* ===================== folio · Folio =====================
   Two-page academic CV: every date sits in a left gutter, headings are marked in the gutter, photo (if any) in the gutter. */
.rbp[data-t="folio"]{--gut:96px;--gg:22px}
.rbp[data-t="folio"] .rbp-thread{display:none}
/* header aligned to the gutter grid: photo in the gutter, name in the content column */
.rbp[data-t="folio"] .rbh,.rbp[data-t="folio"] .rbh.has-ph{grid-template-columns:var(--gut) 1fr;grid-template-areas:"ph txt" "ph ct";column-gap:var(--gg);border:0;padding-bottom:calc(14px * var(--gap));background:linear-gradient(var(--line),var(--line)) left bottom/100% 1px no-repeat;align-items:end}
.rbp[data-t="folio"] .rbh.has-qr{grid-template-columns:var(--gut) 1fr auto;grid-template-areas:"ph txt qr" "ph ct qr"}
.rbp[data-t="folio"] .rbh-photo{width:var(--gut);height:118px;border-radius:0}
.rbp[data-t="folio"][data-photo=circle] .rbh-photo{height:var(--gut);border-radius:50%}.rbp[data-t="folio"][data-photo=rounded] .rbh-photo{border-radius:10px}
.rbp[data-t="folio"] .rbh-name{font-size:calc(var(--fs) * 2.5);line-height:1.1;color:var(--ink);overflow-wrap:break-word}
.rbp[data-t="folio"] .rbh-title{color:var(--acc);font-size:calc(var(--fs) * 1.1)}
.rbp[data-t="folio"] .rbh-contact{gap:2px 16px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="folio"] .rbh-contact i{width:5px;height:5px;border-radius:0;background:var(--accb)}
/* every section starts in the content column; headings get a gutter marker */
.rbp[data-t="folio"] .rbs{padding-left:calc(var(--gut) + var(--gg))}
.rbp[data-t="folio"] .rbs-h{position:relative;display:block;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * 1.22)/1.25 var(--hf);text-transform:none;letter-spacing:0;color:var(--acc);background:none;padding:0;border-radius:0}
.rbp[data-t="folio"] .rbs-h::before{content:"";position:absolute;left:calc((var(--gut) + var(--gg)) * -1);top:.62em;width:var(--gut);height:1px;background:var(--accb);border-radius:0}
.rbp[data-t="folio"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="folio"] .rbs-h-cont::after{font-size:calc(var(--fs) * .8)}
/* dates hang in the gutter */
.rbp[data-t="folio"] .rbi{position:relative;display:flow-root}
.rbp[data-t="folio"] .rbi-top{display:block}
.rbp[data-t="folio"] .rbi-d{display:block;float:left;width:var(--gut);margin-left:calc((var(--gut) + var(--gg)) * -1);text-align:right;white-space:normal;color:var(--mute);font-size:calc(var(--fs) * .88);line-height:1.5;padding-top:.15em}
.rbp[data-t="folio"] .rbi-t{display:inline;font-size:calc(var(--fs) * 1.05)}
.rbp[data-t="folio"] .rbi li::before{width:4px;height:4px;background:var(--accb);top:.62em}
.rbp[data-t="folio"] .rbi-li li{padding-left:16px;text-indent:0}
.rbp[data-t="folio"] .rbi-li li::before{width:6px;height:6px;border-radius:0;background:none;border:1px solid var(--acc);top:.5em}
.rbp[data-t="folio"] .rbsk span{background:none;border:1px solid var(--line);border-radius:3px}
.rbp[data-t="folio"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="folio"] .rbln{padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="folio"] .rbp-run{padding-left:calc(var(--gut) + var(--gg));border-bottom:1px solid var(--line);font-size:calc(var(--fs) * .9)}
.rbp[data-t="folio"] .rbp-run b{color:var(--acc)}

/* ===================== keystone · Keystone =====================
   Two-page senior layout: contact in a row of ruled cells, tinted heading rows in the main column, right panel for strengths. */
.rbp[data-t="keystone"] .rbp-thread{display:none}
.rbp[data-t="keystone"] .rbp-grid{grid-template-columns:1fr 222px}
.rbp[data-t="keystone"] .rbp-top{padding:var(--pad) var(--pad) 0;border:0}
.rbp[data-t="keystone"] .rbh,.rbp[data-t="keystone"] .rbh.has-ph{grid-template-areas:"ph txt" "ct ct";row-gap:16px;column-gap:20px}
.rbp[data-t="keystone"] .rbh:not(.has-ph){grid-template-areas:"txt" "ct"}
.rbp[data-t="keystone"] .rbh.has-qr{grid-template-columns:1fr auto;grid-template-areas:"txt qr" "ct ct"}
.rbp[data-t="keystone"] .rbh.has-ph.has-qr{grid-template-columns:auto 1fr auto;grid-template-areas:"ph txt qr" "ct ct ct"}
.rbp[data-t="keystone"] .rbh-photo{width:84px;height:84px;border-radius:12px}
.rbp[data-t="keystone"][data-photo=circle] .rbh-photo{border-radius:50%}.rbp[data-t="keystone"][data-photo=square] .rbh-photo{border-radius:0}
.rbp[data-t="keystone"] .rbh-name{font-size:calc(var(--fs) * 2.45);line-height:1.12;color:var(--ink);overflow-wrap:break-word}
.rbp[data-t="keystone"] .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.08);margin-top:5px}
/* contact as a row of ruled cells */
.rbp[data-t="keystone"] .rbh-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin:0;color:var(--ink);font-size:calc(var(--fs) * .88);border-top:3px solid var(--acc);border-bottom:1px solid var(--line)}
.rbp[data-t="keystone"] .rbh-contact>span{padding:7px 10px;border-left:1px solid var(--line);align-items:flex-start}
.rbp[data-t="keystone"] .rbh-contact>span:first-child{border-left:0;padding-left:0}
.rbp[data-t="keystone"] .rbh-contact i{display:none}
.rbp[data-t="keystone"] .rbp-main{padding-top:calc(20px * var(--gap));padding-right:24px}
.rbp[data-t="keystone"] .rbp-side{background:var(--acc2);margin:calc(20px * var(--gap)) var(--pad) var(--pad) 0;padding:16px 16px 18px;border-top:4px solid var(--accb)}
.rbp[data-t="keystone"][data-pn]:not([data-pn="1"]) .rbp-side{margin-top:var(--pad)}
.rbp[data-t="keystone"][data-pn]:not([data-pn="1"]) .rbp-main{padding-top:var(--pad)}
/* main headings: tinted row with a colour base rule */
.rbp[data-t="keystone"] .rbp-main .rbs-h{display:block;margin-bottom:calc(9px * var(--gap));padding:5px 10px 4px;font:700 calc(var(--fs) * 1.08)/1.25 var(--hf);text-transform:none;letter-spacing:0;color:var(--acc);background:var(--acc2);border-bottom:2px solid var(--acc);border-radius:0}
.rbp[data-t="keystone"] .rbp-main .rbs-h::before{content:none}
.rbp[data-t="keystone"] .rbp-main .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="keystone"] .rbp-side .rbs-h{display:block;margin-bottom:calc(7px * var(--gap));font:700 calc(var(--fs) * .88)/1.2 var(--bf);text-transform:uppercase;letter-spacing:.12em;color:var(--accb);background:none;padding:0}
.rbp[data-t="keystone"] .rbp-side .rbs-h::before{content:none}
.rbp[data-t="keystone"] .rbp-side .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="keystone"] .rbs-h-cont::after{text-transform:none;letter-spacing:0;font-size:calc(var(--fs) * .8)}
.rbp[data-t="keystone"] .rbp-side .rbsk-list,.rbp[data-t="keystone"] .rbp-side .rbsk{flex-direction:column;gap:3px}
.rbp[data-t="keystone"] .rbp-side .rbsk span{background:none;padding:0 0 3px;border-bottom:1px solid rgba(0,0,0,.08);border-radius:0}
.rbp[data-t="keystone"] .rbp-side .rbsk-list span::after{content:none!important}
.rbp[data-t="keystone"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px;padding:2px 0}
.rbp[data-t="keystone"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}
.rbp[data-t="keystone"] .rbp-side .rbi-top{display:block}
.rbp[data-t="keystone"] .rbp-side .rbi-d{display:block}
.rbp[data-t="keystone"] .rbp-side .rbi-t{font-size:calc(var(--fs) * .96)}
.rbp[data-t="keystone"] .rbp-side li::before{background:var(--accb)}
.rbp[data-t="keystone"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="keystone"] .rbp-main .rbi-d{color:var(--ink);font-weight:700;font-size:calc(var(--fs) * .88)}
.rbp[data-t="keystone"] .rbp-main .rbi-s b{color:var(--acc)}
.rbp[data-t="keystone"] .rbp-main li::before{width:5px;height:5px;border-radius:0;background:var(--acc);top:.6em}
.rbp[data-t="keystone"] .rbp-main .rbsk-list span:not(:last-child)::after{content:"·"}
.rbp[data-t="keystone"] .rbp-main .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:26px}
.rbp[data-t="keystone"] .rbp-run{border-bottom:3px solid var(--acc);font-size:calc(var(--fs) * .9)}
.rbp[data-t="keystone"] .rbp-run b{color:var(--acc);font-family:var(--hf)}

/* ===================== chronicle · Chronicle =====================
   Two-page timeline: dates set large in the serif face in a left column, a dotted rail, big serif headings. */
.rbp[data-t="chronicle"]{--dcol:120px;--rail:140px;--ccol:160px}
.rbp[data-t="chronicle"] .rbp-thread{display:none}
.rbp[data-t="chronicle"] .rbh{border:0;padding-bottom:calc(16px * var(--gap));padding-left:var(--ccol);background:linear-gradient(var(--acc),var(--acc)) var(--ccol) bottom/calc(100% - var(--ccol)) 2px no-repeat}
.rbp[data-t="chronicle"] .rbh.has-ph{padding-left:0;grid-template-columns:var(--dcol) 1fr;column-gap:calc(var(--ccol) - var(--dcol))}
.rbp[data-t="chronicle"] .rbh-photo{width:var(--dcol);height:var(--dcol);border-radius:0}
.rbp[data-t="chronicle"][data-photo=circle] .rbh-photo{border-radius:50%}.rbp[data-t="chronicle"][data-photo=rounded] .rbh-photo{border-radius:12px}
.rbp[data-t="chronicle"] .rbh-name{font-size:calc(var(--fs) * 2.7);line-height:1.08;color:var(--ink);overflow-wrap:break-word}
.rbp[data-t="chronicle"] .rbh-title{color:var(--acc);font-size:calc(var(--fs) * 1.12);margin-top:5px}
.rbp[data-t="chronicle"] .rbh-contact{gap:2px 16px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="chronicle"] .rbh-contact i{width:6px;height:6px;border-radius:0;background:var(--accb);transform:rotate(45deg)}
.rbp[data-t="chronicle"] .rbs{padding-left:var(--ccol);position:relative}
.rbp[data-t="chronicle"] .rbs-tl{padding-left:0}
.rbp[data-t="chronicle"] .rbs-h{display:block;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.4)/1.2 var(--hf);text-transform:none;letter-spacing:-.005em;color:var(--ink);background:none;padding:0;border-radius:0;position:relative}
.rbp[data-t="chronicle"] .rbs-tl .rbs-h{padding-left:var(--ccol)}
.rbp[data-t="chronicle"] .rbs-h::before{content:"";position:absolute;left:calc(var(--rail) - var(--ccol) - 22px);top:.6em;width:44px;height:3px;background:var(--accb);border-radius:0}
.rbp[data-t="chronicle"] .rbs-tl .rbs-h::before{left:calc(var(--rail) - 22px)}
.rbp[data-t="chronicle"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="chronicle"] .rbs-h-cont::after{font-size:calc(var(--fs) * .8)}
/* dotted rail, continuous within a timeline section */
.rbp[data-t="chronicle"] .rbs-tl::before{content:"";position:absolute;left:calc(var(--rail) - 1px);top:0;bottom:calc(-14px * var(--gap));width:0;border-left:2px dotted var(--acc)}
.rbp[data-t="chronicle"] .rbs-tl:has(> .rbs-h)::before{top:1.6em}
.rbp[data-t="chronicle"] .rbs-tl:not(:has(+ .rbs-tl>.rbi:first-child))::before{bottom:0}
.rbp[data-t="chronicle"] .rbs-tl .rbi{display:grid;grid-template-columns:var(--dcol) 1fr;column-gap:calc(var(--ccol) - var(--dcol));position:relative;margin:0;padding:0 0 calc(4px * var(--gap))}
.rbp[data-t="chronicle"] .rbs-tl .rbi>*{grid-column:2}
.rbp[data-t="chronicle"] .rbs-tl .rbi::after{content:none}
.rbp[data-t="chronicle"] .rbs-tl .rbi::before{content:"";position:absolute;left:calc(var(--rail) - 5px);top:.45em;width:10px;height:10px;border-radius:50%;background:var(--acc);border:2px solid #fff;box-sizing:border-box}
/* large serif dates in the left column */
.rbp[data-t="chronicle"] .rbs-tl .rbi-d{grid-column:1;grid-row:1/span 3;align-self:start;text-align:right;white-space:normal;color:var(--acc);font:700 calc(var(--fs) * 1.15)/1.2 var(--hf);padding-top:.1em}
.rbp[data-t="chronicle"] .rbs-tl .rbi-top{display:block}
.rbp[data-t="chronicle"] .rbi-t{font-size:calc(var(--fs) * 1.07)}
.rbp[data-t="chronicle"] .rbi-d{color:var(--acc);font-weight:700}
.rbp[data-t="chronicle"] .rbi-s b{color:var(--ink)}
.rbp[data-t="chronicle"] .rbi li::before{width:6px;height:1.5px;border-radius:0;top:.72em;background:var(--accb)}
.rbp[data-t="chronicle"] .rbsk span{background:none;border:1px solid var(--line);border-radius:0}
.rbp[data-t="chronicle"] .rbsk-list span{border:0}
.rbp[data-t="chronicle"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="chronicle"] .rbln{padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="chronicle"] .rbp-run{padding-left:var(--ccol);border-bottom:2px solid var(--acc);font-size:calc(var(--fs) * .9)}
.rbp[data-t="chronicle"] .rbp-run b{color:var(--acc);font-family:var(--hf)}

/* ===================== canvas · Canvas =====================
   Large tinted circle behind the header, photo with an offset colour block, thick offset underlines on headings, two columns. */
/* a large soft circle behind the header (decoration only) */
.rbp[data-t="canvas"] .rbp-thread{left:auto;bottom:auto;right:-110px;top:-150px;width:400px;height:400px;border-radius:50%;background:var(--accb);opacity:.12}
.rbp[data-t="canvas"][data-pn]:not([data-pn="1"]) .rbp-thread{width:220px;height:220px;top:-120px;right:-80px}
.rbp[data-t="canvas"] .rbp-grid{grid-template-columns:1fr 232px}
.rbp[data-t="canvas"] .rbp-top{padding:calc(var(--pad) + 2px) var(--pad) calc(20px * var(--gap));border:0}
.rbp[data-t="canvas"] .rbh{column-gap:30px}
.rbp[data-t="canvas"] .rbh-photo{width:118px;height:118px;border-radius:22px;box-shadow:12px 12px 0 var(--acc);margin:0 12px 12px 0;overflow:hidden}
.rbp[data-t="canvas"][data-photo=circle] .rbh-photo{border-radius:50%}.rbp[data-t="canvas"][data-photo=square] .rbh-photo{border-radius:0}
.rbp[data-t="canvas"] .rbh-name{font-size:calc(var(--fs) * 3.1);line-height:1;letter-spacing:-.03em;overflow-wrap:break-word}
.rbp[data-t="canvas"] .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.15);margin-top:8px}
.rbp[data-t="canvas"] .rbh-contact{gap:4px 16px;margin-top:12px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="canvas"] .rbh-contact>span{gap:7px}
.rbp[data-t="canvas"] .rbh-contact i{background:var(--acc)!important}
.rbp[data-t="canvas"] .rbp-main{padding-top:calc(16px * var(--gap));padding-right:24px}
.rbp[data-t="canvas"] .rbp-side{background:none;padding:calc(16px * var(--gap)) var(--pad) var(--pad) 0}
.rbp[data-t="canvas"][data-pn]:not([data-pn="1"]) .rbp-main,.rbp[data-t="canvas"][data-pn]:not([data-pn="1"]) .rbp-side{padding-top:var(--pad)}
/* headings: thick offset underline in the second colour */
.rbp[data-t="canvas"] .rbs-h{display:block;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * 1.3)/1.25 var(--hf);text-transform:none;letter-spacing:-.01em;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="canvas"] .rbs-h>span,.rbp[data-t="canvas"] .rbs-h-cont{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accb) 45%,transparent);text-decoration-thickness:.32em;text-underline-offset:-.12em;text-decoration-skip-ink:none}
.rbp[data-t="canvas"] .rbs-h::before{content:none}
.rbp[data-t="canvas"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="canvas"] .rbs-h-cont::after{font-size:calc(var(--fs) * .8);text-decoration:none}
.rbp[data-t="canvas"] .rbp-side .rbs-h{font-size:calc(var(--fs) * 1.12)}
.rbp[data-t="canvas"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="canvas"] .rbi-d{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .88)}
.rbp[data-t="canvas"] .rbi-s b{color:var(--ink)}
.rbp[data-t="canvas"] .rbi li{padding-left:16px}
.rbp[data-t="canvas"] .rbi li::before{width:8px;height:8px;left:0;border-radius:50%;background:none;border:2px solid var(--acc);top:.42em}
.rbp[data-t="canvas"] .rbsk span{background:color-mix(in srgb,var(--accb) 12%,#fff);border-radius:999px;font-size:calc(var(--fs) * .9)}
.rbp[data-t="canvas"] .rbsk-list span{background:none}
.rbp[data-t="canvas"] .rbp-side .rbi-top{display:block}
.rbp[data-t="canvas"] .rbp-side .rbi-d{display:block}
.rbp[data-t="canvas"] .rbp-side .rbi-t{font-size:calc(var(--fs) * .98)}
.rbp[data-t="canvas"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px;padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="canvas"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}
.rbp[data-t="canvas"] .rbp-main .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:26px}
.rbp[data-t="canvas"] .rbp-run{border-bottom:0;font-size:calc(var(--fs) * .9)}
.rbp[data-t="canvas"] .rbp-run b{color:var(--acc);font-family:var(--hf)}

/* ===================== concierge · Concierge =====================
   Colour band that the photo straddles; centred name below; centred serif headings with a small diamond. */
.rbp[data-t="concierge"]{--band:104px}
/* colour band that the photo straddles; without a photo the band holds the name */
.rbp[data-t="concierge"] .rbp-top{background:linear-gradient(var(--acc) 0 var(--band),transparent var(--band));padding:calc(var(--pad) - 14px) var(--pad) calc(14px * var(--gap));color:var(--ink)}
.rbp[data-t="concierge"] .rbh{row-gap:6px}
.rbp[data-t="concierge"] .rbh-photo{width:136px;height:136px;border:6px solid #fff;outline:1.5px solid var(--accb);outline-offset:-6px;background:#fff}
.rbp[data-t="concierge"] .rbh-name{color:var(--ink);font-size:calc(var(--fs) * 2.55);line-height:1.1;letter-spacing:.01em;margin-top:4px;overflow-wrap:break-word}
.rbp[data-t="concierge"] .rbh-title{color:var(--acc);font:700 calc(var(--fs) * .92)/1.3 var(--bf);text-transform:uppercase;letter-spacing:.2em;margin-top:6px}
.rbp[data-t="concierge"] .rbh-contact{gap:2px 0;margin-top:8px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="concierge"] .rbh-contact>span{padding:0 10px;gap:9px}
.rbp[data-t="concierge"] .rbh-contact>span:first-child i{display:none}
.rbp[data-t="concierge"] .rbh-contact i{width:5px;height:5px;border-radius:0;transform:rotate(45deg);background:var(--accb)!important;margin-right:5px}
.rbp[data-t="concierge"][data-nophoto="1"] .rbp-top{background:var(--acc);padding-bottom:calc(var(--pad) - 10px);padding-top:calc(var(--pad) - 4px)}
.rbp[data-t="concierge"][data-nophoto="1"] .rbh-name{color:#fff}
.rbp[data-t="concierge"][data-nophoto="1"] .rbh-title{color:#fff;opacity:.9}
.rbp[data-t="concierge"][data-nophoto="1"] .rbh-contact{color:#fff}
.rbp[data-t="concierge"][data-nophoto="1"] .rbp-top+.rbp-main .rbp-flow{padding-top:calc(6px * var(--gap))}
.rbp[data-t="concierge"][data-pn]:not([data-pn="1"]) .rbp-top{padding:0;height:16px;background:var(--acc)}
.rbp[data-t="concierge"] .rbp-main{padding-top:calc(16px * var(--gap))}
/* headings: centred serif with a small diamond beneath */
.rbp[data-t="concierge"] .rbs-h{display:block;text-align:center;margin-bottom:calc(10px * var(--gap));font:700 calc(var(--fs) * 1.35)/1.2 var(--hf);text-transform:none;letter-spacing:.01em;color:var(--acc);background:none;padding:0;border-radius:0}
.rbp[data-t="concierge"] .rbs-h::before{content:none}
.rbp[data-t="concierge"] .rbs-h:not(.rbs-h-cont)::after{content:"";display:block;width:7px;height:7px;margin:6px auto 0;transform:rotate(45deg);background:var(--accb);flex:none}
.rbp[data-t="concierge"] .rbs-h-cont::after{font-size:calc(var(--fs) * .8)}
.rbp[data-t="concierge"] .rbsum{text-align:center;max-width:600px;margin:0 auto}
.rbp[data-t="concierge"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="concierge"] .rbi-d{color:var(--accb);font-weight:700;font-size:calc(var(--fs) * .88);letter-spacing:.04em}
.rbp[data-t="concierge"] .rbi-s b{color:var(--ink)}
.rbp[data-t="concierge"] .rbi li::before{width:5px;height:5px;border-radius:0;transform:rotate(45deg);background:var(--accb);top:.55em}
.rbp[data-t="concierge"] .rbsk{justify-content:center}
.rbp[data-t="concierge"] .rbsk span{background:none;border:1px solid var(--accb);border-radius:999px}
.rbp[data-t="concierge"] .rbsk-list span{border:0}
.rbp[data-t="concierge"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:34px}
.rbp[data-t="concierge"] .rbln{padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="concierge"] .rbdecl{justify-content:center}
.rbp[data-t="concierge"] .rbp-run{text-align:center;border-bottom:1px solid var(--accb);font-size:calc(var(--fs) * .9)}
.rbp[data-t="concierge"] .rbp-run b{color:var(--acc);font-family:var(--hf)}

/* ===================== terrace · Terrace =====================
   Left panel with a large rounded corner and an arch-shaped photo; dotted rules on headings. */
.rbp[data-t="terrace"] .rbp-grid{grid-template-columns:246px 1fr}
.rbp[data-t="terrace"] .rbp-side{background:var(--acc2);border-top-right-radius:96px;padding:var(--pad) 24px var(--pad) var(--pad)}
.rbp[data-t="terrace"][data-pn]:not([data-pn="1"]) .rbp-side{border-top-right-radius:0}
.rbp[data-t="terrace"] .rbp-side .rbh{row-gap:6px;padding-bottom:16px}
.rbp[data-t="terrace"] .rbp-side .rbh-photo{width:150px;height:186px;border:0;border-radius:999px 999px 10px 10px;background:#fff;margin-bottom:8px}
.rbp[data-t="terrace"][data-photo=circle] .rbp-side .rbh-photo{height:150px;border-radius:50%}
.rbp[data-t="terrace"][data-photo=square] .rbp-side .rbh-photo{border-radius:0}
.rbp[data-t="terrace"] .rbp-side .rbh-name{color:var(--ink);font-size:calc(var(--fs) * 1.75);line-height:1.12;overflow-wrap:break-word}
.rbp[data-t="terrace"] .rbp-side .rbh-txt{justify-self:stretch;min-width:0}
.rbp[data-t="terrace"] .rbp-side .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .98)}
.rbp[data-t="terrace"] .rbp-side .rbh-contact{gap:6px;margin-top:8px;color:var(--ink);font-size:calc(var(--fs) * .86)}
.rbp[data-t="terrace"] .rbp-side .rbh-contact>span{gap:8px;align-items:flex-start}
.rbp[data-t="terrace"] .rbp-side .rbh-contact i{background:var(--acc)!important;margin-top:.15em}
.rbp[data-t="terrace"] .rbp-side .rbs-h{display:flex;align-items:center;gap:8px;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * .88)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.12em;color:var(--acc);background:none;padding:0}
.rbp[data-t="terrace"] .rbp-side .rbs-h::before{content:none}
.rbp[data-t="terrace"] .rbp-side .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:0;border-top:2px dotted var(--acc);opacity:.5;background:none}
.rbp[data-t="terrace"] .rbp-side .rbsk span{background:#fff;border-radius:6px}
.rbp[data-t="terrace"] .rbp-side .rbln{flex-wrap:wrap;column-gap:10px;padding:2px 0}
.rbp[data-t="terrace"] .rbp-side .rbln span:last-child{margin-left:auto;text-align:right}
.rbp[data-t="terrace"] .rbp-side .rbi-top{display:block}
.rbp[data-t="terrace"] .rbp-side .rbi-d{display:block}
.rbp[data-t="terrace"] .rbp-side .rbi-t{font-size:calc(var(--fs) * .98)}
.rbp[data-t="terrace"] .rbp-main{padding:var(--pad) var(--pad) var(--pad) 32px}
.rbp[data-t="terrace"] .rbp-main .rbs-h{display:flex;align-items:center;gap:10px;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.02)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="terrace"] .rbp-main .rbs-h::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--accb);flex:none}
.rbp[data-t="terrace"] .rbp-main .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:0;border-top:2px dotted var(--line);background:none}
.rbp[data-t="terrace"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
.rbp[data-t="terrace"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="terrace"] .rbp-main .rbi-d{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * .88)}
.rbp[data-t="terrace"] .rbp-main .rbi-s b{color:var(--ink)}
.rbp[data-t="terrace"] .rbp-main li::before{width:5px;height:5px;background:var(--accb);top:.6em}
.rbp[data-t="terrace"] .rbp-main .rbsk span{background:var(--acc2)}
.rbp[data-t="terrace"] .rbp-main .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:26px}
.rbp[data-t="terrace"] .rbp-run{border-bottom:2px dotted var(--line);font-size:calc(var(--fs) * .9)}
.rbp[data-t="terrace"] .rbp-run b{color:var(--acc)}

/* ===================== quiet · Quiet =====================
   Minimal: name and title on one baseline, contact in a right column, small dot headings, dates sitting right after each title. */
.rbp[data-t="quiet"] .rbp-thread{display:none}
.rbp[data-t="quiet"] .rbh,.rbp[data-t="quiet"] .rbh.has-ph{border:0;padding-bottom:calc(18px * var(--gap));column-gap:24px;align-items:end;background:linear-gradient(var(--line),var(--line)) left bottom/100% 1px no-repeat}
.rbp[data-t="quiet"] .rbh-photo{width:72px;height:72px}
/* name and title share one baseline */
.rbp[data-t="quiet"] .rbh-txt{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;row-gap:2px}
.rbp[data-t="quiet"] .rbh-name{font-size:calc(var(--fs) * 2.3);line-height:1.1;letter-spacing:-.025em;color:var(--ink);overflow-wrap:break-word;min-width:0}
.rbp[data-t="quiet"] .rbh-title{margin:0;color:var(--mute);font-size:calc(var(--fs) * 1.15)}
.rbp[data-t="quiet"] .rbh-contact{gap:1px;color:var(--ink);font-size:calc(var(--fs) * .88);max-width:290px}
.rbp[data-t="quiet"] .rbh-contact i{display:none}
/* headings: small, quiet, with a single colour dot */
.rbp[data-t="quiet"] .rbs-h{display:flex;align-items:center;gap:9px;margin-bottom:calc(8px * var(--gap));font:700 calc(var(--fs) * .98)/1.2 var(--hf);text-transform:none;letter-spacing:0;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="quiet"] .rbs-h::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accb);flex:none}
.rbp[data-t="quiet"] .rbs-h:not(.rbs-h-cont)::after{content:none}
/* jobs: the date follows the title instead of sitting on the far right */
.rbp[data-t="quiet"] .rbi-top{justify-content:flex-start;flex-wrap:wrap;column-gap:10px;row-gap:0}
.rbp[data-t="quiet"] .rbi-t{font-size:calc(var(--fs) * 1.02)}
.rbp[data-t="quiet"] .rbi-d{color:var(--mute);font-size:calc(var(--fs) * .88);padding-left:10px;border-left:1px solid var(--line)}
.rbp[data-t="quiet"] .rbi-s b{color:var(--acc);font-weight:700}
.rbp[data-t="quiet"] .rbi li::before{width:6px;height:1px;border-radius:0;top:.72em;left:0;background:var(--mute)}
.rbp[data-t="quiet"] .rbsk-list span:not(:last-child)::after{content:"/";color:var(--line);margin-left:7px}
.rbp[data-t="quiet"] .rbsk:not(.rbsk-list) span{background:none;border:1px solid var(--line)}
.rbp[data-t="quiet"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:34px}
.rbp[data-t="quiet"] .rbln{padding:1px 0}
.rbp[data-t="quiet"] .rbp-run{border-bottom:1px solid var(--line);font-size:calc(var(--fs) * .88)}

/* ===================== vector · Vector =====================
   Geometric corner of overlapping triangles, hexagon photo, diamond headings, slanted skill and date tags. */
/* geometric corner: two overlapping triangles (decoration only) */
.rbp[data-t="vector"] .rbp-thread{left:auto;bottom:auto;right:0;top:0;width:250px;height:226px;opacity:1;background:var(--acc);clip-path:polygon(28% 0,100% 0,100% 72%)}
.rbp[data-t="vector"] .rbp-thread::before{content:"";position:absolute;inset:0;background:var(--accb);clip-path:polygon(62% 0,100% 0,100% 100%,82% 100%,46% 34%)}
.rbp[data-t="vector"][data-pn]:not([data-pn="1"]) .rbp-thread{width:130px;height:118px}
.rbp[data-t="vector"] .rbh{border:0;padding:0 170px calc(12px * var(--gap)) 0;column-gap:22px}
.rbp[data-t="vector"] .rbh-photo{width:112px;height:112px;border-radius:0;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%)}
.rbp[data-t="vector"][data-photo=circle] .rbh-photo{clip-path:none;border-radius:50%}
.rbp[data-t="vector"] .rbh-name{font-size:calc(var(--fs) * 2.6);line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;color:var(--ink);overflow-wrap:break-word}
.rbp[data-t="vector"] .rbh-title{color:var(--acc);font-weight:700;font-size:calc(var(--fs) * 1.12);margin-top:5px}
.rbp[data-t="vector"] .rbh-contact{gap:4px 16px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="vector"] .rbh-contact>span{gap:7px}
.rbp[data-t="vector"] .rbh-contact i{background:var(--accb)!important}
/* headings: diamond marker */
.rbp[data-t="vector"] .rbs-h{display:flex;align-items:center;gap:10px;margin-bottom:calc(9px * var(--gap));font:700 calc(var(--fs) * 1.02)/1.2 var(--hf);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);background:none;padding:0;border-radius:0}
.rbp[data-t="vector"] .rbs-h::before{content:"";width:10px;height:10px;flex:none;transform:rotate(45deg);background:var(--acc);border-radius:0;box-shadow:4px -4px 0 var(--accb)}
.rbp[data-t="vector"] .rbs-h:not(.rbs-h-cont)::after{content:"";flex:1;height:2px;background:var(--line)}
.rbp[data-t="vector"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
/* slanted tags for dates and skills (the slant is on a background layer, the text stays upright) */
.rbp[data-t="vector"] .rbi-top{align-items:center}
.rbp[data-t="vector"] .rbi-t{font-size:calc(var(--fs) * 1.06)}
.rbp[data-t="vector"] .rbi-d,.rbp[data-t="vector"] .rbsk:not(.rbsk-list) span{position:relative;isolation:isolate;background:none}
.rbp[data-t="vector"] .rbi-d{color:#fff;font-weight:700;font-size:calc(var(--fs) * .84);padding:1px 10px;line-height:1.5}
.rbp[data-t="vector"] .rbi-d::before,.rbp[data-t="vector"] .rbsk:not(.rbsk-list) span::before{content:"";position:absolute;inset:0;z-index:-1;transform:skewX(-14deg);background:var(--acc)}
.rbp[data-t="vector"] .rbsk:not(.rbsk-list) span{padding:2px 10px;border-radius:0;color:var(--ink)}
.rbp[data-t="vector"] .rbsk:not(.rbsk-list) span::before{background:var(--acc2);border-left:3px solid var(--accb)}
.rbp[data-t="vector"] .rbi-s b{color:var(--ink)}
.rbp[data-t="vector"] .rbi li::before{width:6px;height:6px;border-radius:0;transform:rotate(45deg);background:var(--accb);top:.5em}
.rbp[data-t="vector"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.rbp[data-t="vector"] .rbln{padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="vector"] .rbp-run{border-bottom:2px solid var(--acc);font-size:calc(var(--fs) * .9);margin-right:110px}
.rbp[data-t="vector"] .rbp-run b{color:var(--acc);text-transform:uppercase}

/* ===================== signet · Signet =====================
   Centred diamond seal with your initials (becomes your photo when you add one); small-caps headings over a double rule. */
.rbp[data-t="signet"] .rbp-thread{display:none}
/* the seal: a diamond with your initials, centred above the name; hidden when a photo is shown */
.rbp[data-t="signet"] .rbp-mono{left:50%;right:auto;top:calc(var(--pad) - 8px);width:70px;height:70px;margin-left:-35px;border:0;border-radius:0;background:var(--acc);color:#fff;font:700 calc(var(--fs) * 1.45)/1 var(--hf);letter-spacing:.06em;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.rbp[data-t="signet"]:not([data-nophoto="1"]) .rbp-mono{display:none}
.rbp[data-t="signet"][data-nophoto="1"] .rbh{padding-top:72px}
.rbp[data-t="signet"] .rbh{padding-right:0;border:0;padding-bottom:calc(10px * var(--gap));row-gap:4px}
.rbp[data-t="signet"] .rbh-photo{width:92px;height:92px;border:3px double var(--accb)}
.rbp[data-t="signet"] .rbh-name{font-size:calc(var(--fs) * 2.3);line-height:1.15;letter-spacing:.02em;color:var(--acc);overflow-wrap:break-word}
.rbp[data-t="signet"] .rbh-title{color:var(--mute);font-size:calc(var(--fs) * .92);text-transform:uppercase;letter-spacing:.18em;margin-top:4px}
.rbp[data-t="signet"] .rbh-contact{gap:2px 0;margin-top:6px;color:var(--ink);font-size:calc(var(--fs) * .9)}
.rbp[data-t="signet"] .rbh-contact>span{padding:0 10px;border-left:1px solid var(--line)}
.rbp[data-t="signet"] .rbh-contact>span:first-child{border-left:0}
.rbp[data-t="signet"] .rbh-contact i{display:none}
/* headings: small caps over a double rule */
.rbp[data-t="signet"] .rbs-h{display:block;margin-bottom:calc(9px * var(--gap));padding-bottom:4px;border-bottom:3px double var(--accb);font:700 calc(var(--fs) * .95)/1.25 var(--hf);text-transform:uppercase;letter-spacing:.16em;color:var(--acc);background:none;border-radius:0}
.rbp[data-t="signet"] .rbs-h::before{content:none}
.rbp[data-t="signet"] .rbs-h:not(.rbs-h-cont)::after{content:none}
.rbp[data-t="signet"] .rbs-h-cont::after{text-transform:none;letter-spacing:0}
.rbp[data-t="signet"] .rbi-t{font:700 calc(var(--fs) * 1.04)/1.35 var(--hf)}
.rbp[data-t="signet"] .rbi-d{color:var(--acc);font-size:calc(var(--fs) * .9)}
.rbp[data-t="signet"] .rbi-s{color:var(--mute)}
.rbp[data-t="signet"] .rbi li::before{width:5px;height:5px;border-radius:0;transform:rotate(45deg);background:none;border:1px solid var(--accb);top:.58em}
.rbp[data-t="signet"] .rbsk-list span:not(:last-child)::after{content:"·";color:var(--accb);margin-left:7px}
.rbp[data-t="signet"] .rbsk:not(.rbsk-list) span{background:none;border:1px solid var(--line);border-radius:0}
.rbp[data-t="signet"] .rbs>.rbi:has(.rbln){display:grid;grid-template-columns:1fr 1fr;column-gap:34px}
.rbp[data-t="signet"] .rbln{padding:2px 0;border-bottom:1px solid var(--line)}
.rbp[data-t="signet"] .rbdecl{border-top:1px solid var(--line);padding-top:8px}
.rbp[data-t="signet"] .rbp-run{text-align:center;border-bottom:3px double var(--accb);font-size:calc(var(--fs) * .9)}
.rbp[data-t="signet"] .rbp-run b{color:var(--acc);font-family:var(--hf)}


