/* AGH — practice-area index + detail pages (shares tokens, type and panel system with site.css) */
body.page{overflow-x:hidden}
body.page .nav{opacity:1;transform:none}
body.page .pal,body.page .frame{opacity:.55}body.page .pal{opacity:1}
.nav .back{color:color-mix(in srgb,var(--ivory) 78%,transparent);transition:color .3s}.nav .back:hover{color:var(--acc-h)}
.ap,.ad{position:relative;z-index:4;padding:24vh calc(var(--gut) + 8px) 16vh;max-width:1680px;margin:0 auto}
.ap-head,.ad-head{max-width:1100px}
.ap-head .body{max-width:44ch}
.ap-count{margin-top:26px;color:color-mix(in srgb,var(--ivory) 60%,transparent);font-size:10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ap-count b{color:var(--acc-h);font:400 30px/1 var(--disp);letter-spacing:-.02em}
.ap-head .ln > span,.ad-head .ln > span{transform:none;animation:chUp .9s var(--e-out) .15s backwards}
.ap-head .ln:nth-child(2) > span,.ad-head .ln:nth-child(2) > span{animation-delay:.25s}
.ap-head .rv,.ad-head .rv{opacity:1;transform:none;animation:rvIn .9s var(--e-out) .5s backwards}
@keyframes rvIn{from{opacity:0;transform:translateY(16px)}}
/* tools */
.ap-tools{position:relative;z-index:6;margin:9vh 0 4vh;padding:0 0 18px;border-bottom:1px solid color-mix(in srgb,var(--ivory) 10%,transparent);display:flex;flex-wrap:wrap;gap:18px 28px;align-items:flex-end;justify-content:space-between;}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;border-radius:99px;font:500 13px var(--ui);border:1px solid color-mix(in srgb,var(--ivory) 20%,transparent);color:color-mix(in srgb,var(--ivory) 80%,transparent);transition:color .3s,border-color .3s,background .3s}
.chip b{font:400 10px var(--mono);opacity:.7}
.chip:hover{border-color:var(--acc-m);color:var(--ivory)}
.chip.on{background:var(--metal);background-size:240% 100%;color:var(--bg0);border-color:transparent}
.search{display:flex;align-items:center;gap:14px;border-bottom:1px solid color-mix(in srgb,var(--ivory) 26%,transparent);padding:6px 0;min-width:min(360px,100%)}
.search .mono{color:var(--acc-m);font-size:10px}
.search input{flex:1;background:none;border:0;outline:none;color:var(--ivory);font:400 16px var(--ui);padding:6px 0}
.search input::placeholder{color:color-mix(in srgb,var(--ivory) 40%,transparent)}
.search:focus-within{border-color:var(--acc-m)}
/* index list */
.grp{margin:0 0 7vh}
.grp-h{display:flex;align-items:center;gap:14px;margin:0 0 10px;padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--acc) 40%,transparent);color:var(--acc-m)}
.grp-h .mono{font-size:10.5px}.grp-h b{font-size:10px;opacity:.7}
.grp ol{list-style:none;margin:0;padding:0}
.row{width:100%;display:grid;grid-template-columns:56px minmax(0,1.05fr) minmax(0,1fr) 32px;gap:22px;align-items:baseline;text-align:left;padding:22px 0 20px;border-bottom:1px solid color-mix(in srgb,var(--ivory) 10%,transparent);opacity:0;transform:translateY(12px);transition:opacity .5s var(--e-soft),transform .7s var(--e-out),background .35s}
.row.in{opacity:1;transform:none}
.row .num{color:var(--acc-m);font-size:10px}
.row .t{font:400 clamp(24px,2vw,40px)/1.04 var(--disp);letter-spacing:-.025em;transition:transform .5s var(--e-out)}
.row .t small{display:block;margin-top:8px;font-size:9px;color:color-mix(in srgb,var(--ivory) 50%,transparent)}
.row .s{font-size:14.5px;line-height:1.5;color:color-mix(in srgb,var(--ivory) 66%,transparent);max-width:52ch}
.row .arr{font-style:normal;color:var(--acc-m);opacity:0;transform:translateX(-8px);transition:opacity .35s,transform .45s var(--e-out)}
.row:hover .t,.row.cur .t{transform:translateX(10px);background:var(--metal);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.row:hover .arr,.row.cur .arr{opacity:1;transform:none}
.row:hover{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--acc) 6%,transparent),transparent)}
.empty{color:var(--acc-m)}
.ap-note{margin:6vh 0 0;max-width:70ch;font-size:12px;line-height:1.55;color:color-mix(in srgb,var(--ivory) 50%,transparent)}
/* panel as a drawer on the index page */
.ap-panel{position:fixed;z-index:80;top:0;right:0;bottom:0;transform:translateX(102%);transition:transform .7s var(--e-out)}
.ap-panel.open{transform:none}
.ap-panel.show .panel-title .w > span{transform:none;transition-delay:.18s}
.ap-panel.show .panel-short,.ap-panel.show .topics{opacity:1}
.ap-panel.show .acc-i{opacity:1;transform:none}
.ap-panel .acc-i:nth-child(1){transition-delay:.22s}.ap-panel .acc-i:nth-child(2){transition-delay:.27s}.ap-panel .acc-i:nth-child(3){transition-delay:.32s}.ap-panel .acc-i:nth-child(4){transition-delay:.37s}
.scrim{position:fixed;inset:0;z-index:79;background:color-mix(in srgb,var(--bg0) 55%,transparent);opacity:0;pointer-events:none;transition:opacity .5s}
.scrim.on{opacity:1;pointer-events:auto}
/* detail page */
.ad-head .lede{max-width:46ch;font-size:clamp(17px,1.25vw,22px)}
.ad-sec{max-width:1100px;margin:9vh 0 0;opacity:0;transform:translateY(18px);transition:opacity .8s var(--e-soft),transform 1s var(--e-out)}
.ad-sec.in,.ad-nav.in{opacity:1;transform:none}
.ad-prose{columns:2 340px;column-gap:5vw}
.ad-prose p{margin:0 0 1.1em;font-size:clamp(16.5px,1.1vw,19.5px);line-height:1.66;color:color-mix(in srgb,var(--ivory) 86%,transparent);break-inside:avoid}

.ad-h{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--acc-m);font-size:10.5px}
.ad-h b{font-weight:400;font-size:9.5px;padding:3px 7px;border:1px solid currentColor;border-radius:99px}
.ad-mods .acc{max-width:900px}
.ad-mods .acc-i{opacity:1;transform:none}
.ad-mods .acc-b p{margin-left:44px;font-size:clamp(15.5px,1.05vw,18.5px)}
.ad-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;max-width:980px}
.ad-chips li{font-size:14px;padding:10px 16px;border-radius:99px;border:1px solid color-mix(in srgb,var(--acc) 34%,transparent);background:color-mix(in srgb,var(--bg0) 30%,transparent)}
.ad-list{list-style:none;margin:0;padding:0;columns:2 300px;column-gap:4vw;max-width:980px}
.ad-list li{break-inside:avoid;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--ivory) 10%,transparent);font-size:15px}
.ad-rel{display:flex;flex-wrap:wrap;gap:10px}
.ad-rel .rel{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 20px;border-radius:99px;border:1px solid color-mix(in srgb,var(--ivory) 22%,transparent);font:500 14px var(--ui);transition:border-color .3s,color .3s}
.ad-rel .rel .arr{font-style:normal;color:var(--acc-m);transition:transform .4s var(--e-out)}
.ad-rel .rel:hover{border-color:var(--acc-m);color:var(--acc-h)}.ad-rel .rel:hover .arr{transform:translateX(4px)}
.ad-head .up{border-bottom:1px solid currentColor}
.ad-nav{margin:12vh 0 0;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch;border-top:1px solid color-mix(in srgb,var(--acc) 40%,transparent);padding-top:26px;opacity:0;transform:translateY(18px);transition:opacity .8s,transform 1s var(--e-out)}
.ad-nav .pn{display:flex;flex-direction:column;gap:10px}
.ad-nav .pn.r{align-items:flex-end;text-align:right}
.ad-nav .pn .mono{font-size:9.5px;color:var(--acc-m)}
.ad-nav .pn b{font:400 clamp(20px,1.6vw,30px)/1.1 var(--disp);letter-spacing:-.02em;font-weight:400;transition:color .3s}
.ad-nav .pn:hover b{color:var(--acc-h)}
.ad-nav .all{align-items:center;text-align:center;padding:0 20px;border-left:1px solid color-mix(in srgb,var(--ivory) 12%,transparent);border-right:1px solid color-mix(in srgb,var(--ivory) 12%,transparent)}
@media (max-width:900px){
  .ap,.ad{padding:18vh 20px 12vh}
  .ap-tools{padding-top:70px;gap:12px}.chip{height:34px;padding:0 12px;font-size:12px}
  .row{grid-template-columns:34px minmax(0,1fr) 20px;gap:12px}.row .s{grid-column:2/4;font-size:13px}.row .t{font-size:22px}
  .ap-panel{top:auto;left:0;height:78vh;width:auto;border-radius:18px 18px 0 0;padding:22px 20px 16px;transform:translateY(102%)}
  .ad-prose{columns:1}.ad-list{columns:1}.ad-mods .acc-b p{margin-left:0}
  .ad-nav{grid-template-columns:1fr 1fr}.ad-nav .all{grid-column:1/3;order:3;border:0;border-top:1px solid color-mix(in srgb,var(--ivory) 12%,transparent);padding-top:16px}
}
body.page .nav{background:linear-gradient(180deg,color-mix(in srgb,var(--bg1) 92%,transparent) 0%,color-mix(in srgb,var(--bg1) 70%,transparent) 60%,transparent);padding-bottom:40px}
body.page .pal{left:auto;right:calc(var(--gut) + 8px);bottom:22px}
body.page .pal > .mono{display:none}
.ap-count{align-items:baseline}
@media (max-width:900px){ body.page .pal{top:auto;bottom:14px;right:14px} }
/* v6 — hierarchy pages */
.th{flex:none;display:block;width:46px;height:46px;border-radius:50%;background:var(--bg2) center/cover no-repeat;box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 70%,transparent),0 10px 24px -10px rgba(0,0,0,.8);filter:saturate(.55) contrast(1.05) brightness(.9)}
.row{grid-template-columns:52px 64px minmax(0,1fr) minmax(0,1fr) 28px;align-items:center}
.row .th{width:44px;height:44px}
.grp-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center}
.grp-h .th{width:64px;height:64px}
.grp-h h2{margin:6px 0 4px;font:400 clamp(26px,2.2vw,42px)/1.02 var(--disp);letter-spacing:-.025em;color:var(--ivory)}
.grp-h h2 a{border-bottom:1px solid transparent;transition:border-color .3s}.grp-h h2 a:hover{border-color:var(--acc-m)}
.grp-h p{margin:0;font-size:14px;line-height:1.5;color:color-mix(in srgb,var(--ivory) 62%,transparent);max-width:70ch}
.chips{max-width:100%}
.chip{height:36px;font-size:12.5px}
.ap-count b{margin-right:4px}
.dt-img{position:relative;height:clamp(140px,22vh,220px);border-radius:12px;overflow:hidden;margin:18px 0 6px;background:var(--bg2)}
.dt-img:empty{display:none}
.dt-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.08) brightness(.82)}
.dt-img .tint,.ad-fig .tint{position:absolute;inset:0;background:var(--tint);mix-blend-mode:color;opacity:.7}
.ad-head .crumb{margin-bottom:34px}
.crumb a{border-bottom:1px solid transparent;color:var(--acc-m)}.crumb a:hover{border-color:currentColor}
.ad-head .disp.long{font-size:clamp(48px,4.6vw,100px)}.ad-head .disp.xlong{font-size:clamp(42px,3.8vw,84px)}
.ad-fig{position:relative;margin:8vh 0 0;height:min(56vh,560px);border-radius:16px;overflow:hidden;max-width:1100px}
.ad-fig img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.1) brightness(.8)}
.ad-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--bg0) 70%,transparent))}
.ad-fig figcaption{position:absolute;left:22px;bottom:18px;z-index:2;font-size:9.5px;color:color-mix(in srgb,var(--ivory) 80%,transparent)}
.ad-prose.one{columns:1;max-width:900px}
.ad-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;max-width:1200px}
.ad-cards .card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:16px;row-gap:4px;padding:20px 44px 20px 18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--ivory) 12%,transparent);background:color-mix(in srgb,var(--bg0) 30%,transparent);transition:border-color .3s,background .3s,transform .4s var(--e-out)}
.ad-cards .card .th{grid-row:1/4;width:56px;height:56px;align-self:start}
.ad-cards .card .mono{font-size:9px;color:var(--acc-m)}
.ad-cards .card b{font:400 22px/1.1 var(--disp);letter-spacing:-.015em;font-weight:400}
.ad-cards .card em{font-style:normal;font-size:13.5px;line-height:1.45;color:color-mix(in srgb,var(--ivory) 64%,transparent)}
.ad-cards .card .arr{position:absolute;right:18px;top:20px;font-style:normal;color:var(--acc-m);transition:transform .4s var(--e-out)}
.ad-cards .card:hover{border-color:var(--acc-m);background:color-mix(in srgb,var(--acc) 7%,transparent);transform:translateY(-2px)}.ad-cards .card:hover .arr{transform:translateX(4px)}
@media (max-width:900px){
  .row{grid-template-columns:44px minmax(0,1fr) 20px;gap:10px}.row .num{display:none}.row .t{grid-column:2}.row .s{grid-column:2/4}.row .arr{grid-column:3;grid-row:1}
  .grp-h{grid-template-columns:auto minmax(0,1fr)}.grp-h > b{display:none}.grp-h .th{width:48px;height:48px}
  .ad-head .disp.long,.ad-head .disp.xlong{font-size:clamp(34px,9vw,46px)}
  .ad-fig{height:36vh}.ad-cards{grid-template-columns:1fr}
}

.ad-head .disp{max-width:16ch}

@media (max-width:900px){body.page .pal{display:none}}
