/* Restore the home identity; task continuations have their own row. */
body.route-home[data-theme-area="frontend"] .home-identity-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; padding:28px 0 20px; gap:40px; overflow:visible; }
body.route-home[data-theme-area="frontend"] .home-identity-hero .df-hero-copy { max-width:660px; }
body.route-home[data-theme-area="frontend"] .home-identity-hero .df-hero-title { font-size:clamp(36px,3.8vw,56px) !important; }
body.route-home[data-theme-area="frontend"] .home-identity-hero .df-hero-visual { display:flex; width:100%; justify-content:flex-end; margin:0; order:0; }
body.route-home[data-theme-area="frontend"] .home-identity-hero .df-hero-logo-live { width:100%; max-width:680px; min-width:0; min-height:260px; }
body.route-home[data-theme-area="frontend"] .home-identity-hero .df-typewriter-panel { padding:24px 28px; min-width:0; border-radius:16px; }
body.route-home[data-theme-area="frontend"] .home-identity-hero :is(.df-typewriter-word,.df-typewriter-word-ghost) { font-size:clamp(30px,3.9vw,68px); }
body.route-home[data-theme-area="frontend"] .home-task-continuation { padding:18px 22px; }
body.route-home[data-theme-area="frontend"] .home-task-continuation .catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; }
body.route-home[data-theme-area="frontend"] .home-task-continuation .catalog-line { min-width:0; gap:14px; padding:12px 0; border:0; }
body.route-home[data-theme-area="frontend"] .home-task-continuation .catalog-title { font-size:15px; }
/* Catalog headings are read down one axis, with optional actions on the right. */
body[data-theme-area="frontend"] .dfb-page :is(.public-index-head,[data-public-index-head]).page-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; justify-content:start; gap:8px 24px; padding:4px 0 20px; margin-bottom:20px; }
body[data-theme-area="frontend"] .dfb-page :is(.public-index-head,[data-public-index-head]) > :is(.page-title,.page-lead,.page-meta,.section-kicker) { grid-column:1; width:auto; margin:0; text-align:left; }
body[data-theme-area="frontend"] .dfb-page :is(.public-index-head,[data-public-index-head]) > .section-kicker { display:none; }
body[data-theme-area="frontend"] .dfb-page :is(.public-index-head,[data-public-index-head]) > .page-lead { max-width:80ch; }
body[data-theme-area="frontend"] .dfb-page :is(.public-index-head,[data-public-index-head]) > .btn { grid-column:2; grid-row:1 / span 3; justify-self:end; align-self:start; width:auto; }
body[data-theme-area="frontend"] .dfb-page :is(.public-index-head,[data-public-index-head]) > .tool-index-meta-row { grid-column:1/-1; }
.practice-catalog { min-width:0; }
body[data-theme-area="frontend"] .practice-catalog .catalog-page-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px; border-bottom:0; margin-bottom:20px; }
.catalog-help-link { font-size:13px; }
body[data-theme-area="frontend"] .practice-catalog .practice-filters { padding:20px; margin-bottom:16px; }
.practice-filter-main { display:grid; grid-template-columns:minmax(240px,1fr) 150px 150px auto; gap:14px; align-items:end; }
.practice-filters .query-control { min-width:0; display:grid; gap:7px; }
.practice-filters label { font-size:12px; font-weight:600; color:var(--ink-muted); margin:0; }
.practice-filters :is(.form-control,.form-select) { width:100%; max-width:none; min-height:44px; margin:0; }
.practice-filters .btn { min-height:44px; white-space:nowrap; }
.practice-extra-filters { margin-top:12px; }
.practice-extra-filters > summary { display:inline-flex; min-height:36px; align-items:center; gap:8px; padding:4px 0; font-size:13px; }
.practice-extra-filters > summary::before { content:'+'; font-size:18px; line-height:1; }
.practice-extra-filters[open] > summary::before { content:'−'; }
.practice-extra-filters > summary::-webkit-details-marker { display:none; }
.practice-filter-more { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding-top:10px; }
.practice-extra-actions { margin-top:14px; }
.practice-active-filters { border-top:1px solid var(--border); margin-top:12px; padding-top:12px; font-size:12px; }
.practice-active-filters .meta-text-list { gap:8px 16px; }
.practice-results-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0 12px; color:var(--ink-muted); font-size:13px; }
.practice-scope-tabs { display:flex; gap:6px; }
.practice-scope-tabs a { min-height:40px; display:flex; align-items:center; padding:8px 14px; border-radius:7px; color:var(--ink-muted); text-decoration:none; }
.practice-scope-tabs a[aria-current="page"] { background:var(--accent-soft); color:var(--accent); font-weight:600; }
.practice-package-list { display:grid; gap:0; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
body[data-theme-area="frontend"] .practice-package-list .practice-package { display:grid; grid-template-columns:84px minmax(0,1fr) 136px; gap:22px; align-items:center; padding:18px 22px; min-width:0; border:0; border-bottom:1px solid var(--border); border-radius:0; transition:background-color 160ms ease; }
body[data-theme-area="frontend"] .practice-package-list .practice-package:hover { background:var(--surface-alt); }
body[data-theme-area="frontend"] .practice-package-list .practice-package:last-child { border-bottom:0; }
body[data-theme-area="frontend"] .practice-package-list .practice-package:first-child { border-radius:12px 12px 0 0; }
body[data-theme-area="frontend"] .practice-package-list .practice-package:last-child { border-radius:0 0 12px 12px; }
body[data-theme-area="frontend"] .practice-package-list .practice-package:only-child { border-radius:12px; }
.practice-package-year { display:grid; align-content:center; justify-items:center; gap:6px; padding:10px 12px; border-right:1px solid var(--border); min-height:82px; }
.practice-package-year strong { font-size:24px; font-variant-numeric:tabular-nums; color:var(--ink); letter-spacing:-.03em; }
.practice-package-year span { font-size:11px; color:var(--ink-muted); white-space:nowrap; }
.practice-package-copy { min-width:0; }
.practice-package-context,.practice-package-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; font-size:12px; color:var(--ink-muted); }
.practice-featured { color:var(--accent); background:var(--accent-soft); padding:2px 7px; border-radius:4px; }
.practice-package-copy h2 { margin:7px 0; font-size:19px; line-height:1.5; letter-spacing:-.02em; overflow-wrap:anywhere; }
.practice-package-copy h2 a { color:var(--ink); text-decoration:none; }
.practice-package-copy h2 a:hover { color:var(--accent); }
.practice-package-summary { margin:0 0 10px; font-size:13px; color:var(--ink-muted); line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.practice-package-meta strong { font-weight:600; color:var(--ink); }
.practice-package-action { display:grid; gap:9px; justify-items:stretch; text-align:center; }
.practice-package-action > span { color:var(--ink-muted); font-size:12px; }
.practice-package-action .btn { min-height:42px; display:flex; align-items:center; justify-content:center; gap:8px; }
body[data-theme-area="frontend"] .download-filter-panel .query-grid { display:grid; grid-template-columns:minmax(220px,1fr) minmax(130px,200px) minmax(130px,200px) auto; align-items:end; gap:14px; }
body[data-theme-area="frontend"] .download-filter-panel .query-control { min-width:0; }
body[data-theme-area="frontend"] .download-filter-panel :is(.form-select,.form-control) { max-width:none; width:100%; }
body[data-theme-area="frontend"] .download-resource-row .resource-summary { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media(max-width:1100px) {
 .practice-filter-main { grid-template-columns:minmax(180px,1fr) 120px 120px auto; }
 body.route-home[data-theme-area="frontend"] .home-identity-hero { gap:24px; }
 body.route-home[data-theme-area="frontend"] .home-task-continuation .catalog { grid-template-columns:minmax(0,1fr); }
 body.route-home[data-theme-area="frontend"] .home-task-continuation .catalog-line + .catalog-line { border-top:1px solid var(--border); }
}
@media(max-width:768px) {
 body.route-home[data-theme-area="frontend"] .home-identity-hero { grid-template-columns:minmax(0,1fr); gap:22px; padding:12px 0; }
 body.route-home[data-theme-area="frontend"] .home-identity-hero .df-hero-logo-live { max-width:none; min-height:220px; }
 body.route-home[data-theme-area="frontend"] .home-identity-hero .df-typewriter-panel { padding:18px 20px; }
 body.route-home[data-theme-area="frontend"] .home-identity-hero :is(.df-typewriter-word,.df-typewriter-word-ghost) { font-size:clamp(26px,7.4vw,52px); }
 body[data-theme-area="frontend"] .dfb-page :is(.public-index-head,[data-public-index-head]).page-head { grid-template-columns:minmax(0,1fr); gap:8px; }
 body[data-theme-area="frontend"] .dfb-page :is(.public-index-head,[data-public-index-head]) > .btn { grid-column:1; grid-row:auto; justify-self:start; }
 body[data-theme-area="frontend"] .practice-catalog .practice-filters { padding:16px; }
 .practice-filter-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .practice-filter-main > .query-control:first-child,.practice-filter-main > .btn { grid-column:1/-1; }
 .practice-filter-more { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .practice-results-head { margin-top:16px; font-size:12px; }
 body[data-theme-area="frontend"] .practice-package-list .practice-package { grid-template-columns:minmax(0,1fr); padding:18px; gap:12px; }
 .practice-package-year { display:none; }
 .practice-package-context::before { content:attr(data-year); }
 .practice-package-copy h2 { font-size:18px; }
 .practice-package-action { display:flex; align-items:center; justify-content:space-between; gap:12px; }
 .practice-package-action .btn { min-width:132px; order:1; }
 body[data-theme-area="frontend"] .download-filter-panel .query-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body[data-theme-area="frontend"] .download-filter-panel .query-control:first-child,body[data-theme-area="frontend"] .download-filter-actions { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { .home-identity-hero .df-typewriter-caret { animation:none; } .practice-package-list .practice-package { transition:none !important; } }

/* Event discovery uses one card per event, without cards nested inside a card. */
.events-discovery-page { gap:16px; }
body[data-theme-area="frontend"] .events-discovery-page > .community-nav { margin:0; }
.events-discovery-page > .query-bar { margin:0; }
.event-filter-actions { display:flex; align-items:center; gap:10px; }
.event-directory-list { display:grid; gap:12px; }
body[data-theme-area="frontend"] .event-directory-list .event-directory-row { padding:22px; display:grid; grid-template-columns:94px minmax(0,1fr) auto; align-items:center; gap:24px; }
.event-directory-date { display:grid; gap:4px; color:var(--ink-muted); font-size:12px; text-align:center; border-right:1px solid var(--border); padding-right:20px; }
.event-directory-date strong { font-size:25px; color:var(--ink); font-variant-numeric:tabular-nums; }
.event-directory-copy { min-width:0; }
.event-directory-context { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:12px; color:var(--ink-muted); }
.event-directory-stage { color:var(--accent); background:var(--accent-soft); padding:3px 8px; border-radius:4px; }
.event-directory-copy h2 { font-size:19px; line-height:1.5; margin:8px 0; overflow-wrap:anywhere; }
.event-directory-copy h2 a { color:var(--ink); text-decoration:none; }
.event-directory-copy h2 a:hover { color:var(--accent); }
.event-directory-copy p { margin:0 0 6px; font-size:13px; color:var(--ink-muted); line-height:1.7; }
.event-directory-countdown { font-size:12px; color:var(--ink-muted); }
.event-directory-action { display:flex; gap:8px; align-items:center; min-height:44px; white-space:nowrap; }
/* Both writeup indices stay reachable. On small screens they move above results. */
body[data-theme-area="frontend"].route-writeups-index .writeup-browse-panel.writeup-side-stack { display:block !important; height:auto !important; max-height:none !important; overflow:visible !important; }
.writeup-browse-panel > summary { display:none; }
body[data-theme-area="frontend"].route-writeups-index .writeup-browse-panel .writeup-browse-content { display:grid; grid-template-rows:minmax(150px,.85fr) minmax(200px,1.3fr); height:min(calc(100dvh - 112px),760px); gap:12px; }
body[data-theme-area="frontend"].route-writeups-index .writeup-browse-panel .writeup-index-panel { display:flex; flex-direction:column; min-height:0; padding:18px; }
body[data-theme-area="frontend"].route-writeups-index .writeup-browse-panel .writeup-index-list { flex:1; min-height:0; overflow:auto !important; scrollbar-width:thin; }
body[data-theme-area="frontend"] .discovery-resource-nav { margin-top:0; margin-bottom:12px; }
@media(max-width:1100px) {
 body[data-theme-area="frontend"].route-writeups-index .writeup-hub-shell { display:flex !important; flex-direction:column; gap:16px; }
 body[data-theme-area="frontend"].route-writeups-index .writeup-browse-panel.writeup-side-stack { order:-1; width:100%; position:static !important; }
 .writeup-browse-panel > summary { display:flex; align-items:center; justify-content:space-between; min-height:46px; border:1px solid var(--border); background:var(--surface); border-radius:8px; padding:11px 16px; cursor:pointer; font-size:14px; font-weight:600; list-style:none; }
 .writeup-browse-panel > summary::-webkit-details-marker { display:none; }
 .writeup-browse-panel[open] > summary span { transform:rotate(45deg); }
 body[data-theme-area="frontend"].route-writeups-index .writeup-browse-panel .writeup-browse-content { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); height:min(60dvh,440px); padding-top:12px; }
 body[data-theme-area="frontend"].route-writeups-index .writeup-hub-shell > .section-stack { width:100%; }
}
@media(max-width:768px) {
 body[data-theme-area="frontend"] .event-directory-list .event-directory-row { padding:18px; grid-template-columns:66px minmax(0,1fr); gap:14px; }
 .event-directory-date { padding-right:12px; align-self:start; font-size:11px; }
 .event-directory-date strong { font-size:22px; }
 .event-directory-copy h2 { font-size:17px; }
 .event-directory-action { grid-column:2; justify-self:start; font-size:12px; }
 .practice-package-context[data-year=""]::before { content:none; }
 body[data-theme-area="frontend"].route-writeups-index .writeup-browse-panel .writeup-index-panel { padding:12px; }
 body[data-theme-area="frontend"].route-writeups-index .writeup-browse-panel .writeup-index-intro { display:none; }
}
