/* ---------- Studio collection: extra header, heading, entry and layout variants ---------- */
.page{--tint:color-mix(in srgb,var(--accent) 11%,#fff);counter-reset:sec}
.page .tt-num,.page.tt-num{counter-reset:sec}

/* headers */
.hd-diagonal .blk-header{position:relative;z-index:0;color:#fff;padding:24px 28px 50px;margin-bottom:-4px}
.hd-diagonal .blk-header::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:6px;background-color:var(--accent);background-image:var(--pat,none),linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 58%,#000));clip-path:polygon(0 0,100% 0,100% 78%,0 100%)}
.hd-diagonal .ed:hover{background:rgba(255,255,255,.14)}
.hd-diagonal .ed:empty::before{color:rgba(255,255,255,.6)}
.hd-leftbar .h-wrap{border-left:8px solid var(--accent);padding-left:18px}
.hd-leftbar .h-name{text-transform:uppercase;letter-spacing:.07em;font-size:2.1em;color:var(--accent)}
.hd-split2 .h-body{display:grid;grid-template-columns:1fr minmax(0,36%);column-gap:22px;align-items:center}
.hd-split2 .h-name,.hd-split2 .h-title{grid-column:1}
.hd-split2 .h-name{color:var(--accent)}
.hd-split2 .h-contacts{grid-column:2;grid-row:1/span 2;flex-direction:column;background:var(--tint);border-radius:10px;padding:12px 16px;margin:0}
.hd-split2 .ct+.ct::before{content:none}
.hd-topbar .blk-header{border-top:8px solid var(--accent);padding-top:14px}
.hd-topbar .h-name{text-transform:uppercase;letter-spacing:.12em;font-size:2.1em}
.hd-topbar .h-title{color:var(--accent);font-weight:600;letter-spacing:.04em}

/* headings */
.tt-num .s-title{text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #d5d9e3;padding-bottom:3px;font-size:.98em}
.tt-num .s-title::before{counter-increment:sec;content:counter(sec,decimal-leading-zero);display:inline-block;margin-right:.65em;color:var(--accent);font-weight:800}
.tt-ribbon .s-title{display:table;background:var(--accent);color:#fff;padding:3px 22px 3px 12px;margin-left:-4px;text-transform:uppercase;letter-spacing:.06em;font-size:.9em;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%)}
.tt-ribbon .s-title .ed:empty::before{color:rgba(255,255,255,.65)}
.tt-sideline .s-title{display:flex;align-items:center;gap:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.95em}
.tt-sideline .s-title::after{content:"";flex:1;height:2px;background:var(--accent);opacity:.3}
.tt-underbar .s-title{position:relative;font-size:1.15em;padding-bottom:8px;margin-bottom:.7em}
.tt-underbar .s-title::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:4px;border-radius:3px;background:var(--accent)}

/* entry styles */
.en-timeline .entry{border-left:2px solid color-mix(in srgb,var(--accent) 35%,#fff);padding-left:16px;margin-left:5px}
.en-timeline .entry::before{content:"";position:absolute;left:-7px;top:.42em;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #fff}
.en-datecol .entry{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px}
.en-datecol .e-head{display:contents}
.en-datecol .e-dates{grid-column:1;grid-row:1/span 3;white-space:normal;color:var(--accent);font-weight:600;opacity:1}
.en-datecol .e-l,.en-datecol .e-sub,.en-datecol .e-text{grid-column:2}
.en-card .entry{background:var(--tint);border-radius:10px;padding:10px 14px}
.en-card .entry+.entry{margin-top:.5em}
/* entries inside narrow sidebar columns fall back to a simple stack */
.en-datecol .col[data-col=side] .entry{display:block}
.en-datecol .col[data-col=side] .e-head{display:flex;flex-direction:column}
.en-datecol .col[data-col=side] .e-dates{color:inherit}
.sb-left-dark.en-timeline .col[data-col=side] .entry,.sb-right-dark.en-timeline .col[data-col=side] .entry{border-left-color:rgba(255,255,255,.4)}
.sb-left-dark.en-timeline .col[data-col=side] .entry::before,.sb-right-dark.en-timeline .col[data-col=side] .entry::before{background:#fff;box-shadow:none}
.sb-left-dark.en-card .col[data-col=side] .entry,.sb-right-dark.en-card .col[data-col=side] .entry{background:rgba(255,255,255,.12)}
.sb-left-light.en-card .col[data-col=side] .entry,.sb-right-light.en-card .col[data-col=side] .entry{background:#fff}

/* sidebar widths */
.sb{--sbw:32%}
.sbw-28{--sbw:28%}
.sbw-36{--sbw:36%}
.sb-left-dark{background:linear-gradient(to right,var(--accent) 0 var(--sbw),#fff var(--sbw))}
.sb-right-dark{background:linear-gradient(to left,var(--accent) 0 var(--sbw),#fff var(--sbw))}
.sb-left-light{background:linear-gradient(to right,var(--tint) 0 var(--sbw),#fff var(--sbw))}
.sb-right-light{background:linear-gradient(to left,var(--tint) 0 var(--sbw),#fff var(--sbw))}
.sb .col[data-col=side]{width:var(--sbw)}
.sb .col[data-col=main]{width:calc(100% - var(--sbw))}

/* full-width header above a two-column body */
.hdrtop{display:flex;flex-direction:column}
.hdrtop.sb-left-dark,.hdrtop.sb-right-dark,.hdrtop.sb-left-light,.hdrtop.sb-right-light{background:#fff}
.hdrtop .col[data-col=top]{width:100%;min-height:0;padding:var(--pad) var(--pad) 16px}
.hdrtop .col[data-col=top]:empty{min-height:60px}
.hdrtop .cols{flex:1;min-height:0}
.hdrtop .col[data-col=side]{padding-top:22px}
.hdrtop .col[data-col=main]{padding-top:22px}
.hdrtop.sb-left-dark .col[data-col=side],.hdrtop.sb-right-dark .col[data-col=side]{background:var(--accent)}
.hdrtop.sb-left-light .col[data-col=side],.hdrtop.sb-right-light .col[data-col=side]{background:var(--tint)}
/* custom template helper */
.gx-tools{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.gx-tools small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gx-tools .btn{width:100%;font-size:13px;padding:8px 10px}
.gdel{position:absolute;right:8px;top:8px;z-index:3;width:28px;height:28px;border-radius:50%;border:0;background:rgba(220,38,38,.92);color:#fff;font-size:16px;line-height:1;opacity:0;transform:scale(.8);transition:all .2s var(--ease);cursor:pointer}
.gcard{position:relative}
.gcard:hover .gdel{opacity:1;transform:none}
.gdel:hover{background:#b91c1c}
.badge-custom{position:absolute;left:8px;top:8px;z-index:3;background:var(--brand);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;border-radius:99px;padding:3px 9px}
