/* Blog, category, archive, search, post, custom type singles and the closing presence section. */

/* custom type hero */
.phero-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(28px,4vw,48px)}
.phero-row.phero-solo{grid-template-columns:minmax(0,1fr);max-width:860px}
.phero-copy{display:grid;gap:22px;min-width:0}
.phero-copy .btns{margin-top:6px}
.phero-img{border-radius:24px;overflow:hidden;box-shadow:var(--sh-2);background:var(--bg-3)}
.phero-img img{width:100%;height:100%;object-fit:cover}
.phero-img.is-portrait{max-width:420px;justify-self:end}
@media (max-width:1080px){.phero-row{grid-template-columns:1fr}.phero-img.is-portrait{justify-self:start}}

/* blog and category */
.cchips{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(28px,3vw,40px) 0 28px}
.cchips a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;font-size:14.5px;font-weight:600;text-decoration:none;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);transition:background-color .2s,color .2s,box-shadow .2s}
.cchips a:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.cchips a[aria-current]{background:var(--accent);color:var(--on-accent);box-shadow:none}
.cat-svc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px;color:var(--ink-3);font-weight:600}
.cat-svc a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:var(--accent-t);color:var(--accent);text-decoration:none;font-weight:650}
.cat-svc a:hover{background:var(--accent-t2)}
.bfeat a{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(14px,1.6vw,20px);border-radius:24px;background:var(--card);box-shadow:var(--sh-2);text-decoration:none}
.bf-img{display:block;aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:var(--bg-3)}
.bf-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.bfeat a:hover .bf-img img{transform:scale(1.03)}
.bf-txt{display:grid;gap:14px;justify-items:start;padding-right:clamp(0px,2vw,24px)}
.bf-t{font-family:var(--f-display);font-size:clamp(28px,3vw,46px);line-height:1.02;font-weight:600;font-stretch:84%;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.bf-ex{font-size:17px;color:var(--ink-2)}
.bc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13.5px;font-weight:550;color:var(--ink-3)}
.bc-cat{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--accent-t);color:var(--accent);font-size:13px;font-weight:650;text-decoration:none}
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.bcard a{display:grid;gap:12px;align-content:start;text-decoration:none;color:var(--ink)}
.bc-img{display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--bg-3);box-shadow:var(--sh-1)}
.bc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.bcard a:hover .bc-img img{transform:scale(1.04)}
.bc-t{font-size:20px;line-height:1.2;font-weight:700;font-stretch:92%;letter-spacing:-.015em;text-wrap:balance}
.bcard a:hover .bc-t{color:var(--accent)}
.bc-ex{font-size:15px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.empty{color:var(--ink-2)}
.pager{margin-top:48px}
.pager .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 16px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.pager .page-numbers.current{background:var(--accent);color:var(--on-accent);box-shadow:none}
.pager a.page-numbers:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.sform{display:flex;flex-wrap:wrap;gap:10px;max-width:560px}
.sform input{flex:1 1 240px;min-height:52px;padding:0 18px;border:0;border-radius:999px;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);font:inherit;font-size:16px}
.sform input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--accent)}
.nf .btns{margin-top:6px}

/* post */
.post-head .frame{padding-top:26px;display:grid;gap:18px;justify-items:start}
.post-h1{font-family:var(--f-display);font-size:clamp(36px,4.6vw,68px);line-height:1;font-weight:620;font-stretch:84%;letter-spacing:-.035em;max-width:20ch;text-wrap:balance}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:14px;color:var(--ink-3)}
.post-meta>img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 8%;background:var(--bg-3)}
.post-meta>span:not(.pm-d){display:grid;line-height:1.3}
.post-meta b{color:var(--ink);font-size:15px}
.pm-d{padding-left:14px;border-left:1px solid var(--line-2)}
.post-cover{width:100%;margin-top:14px;border-radius:24px;overflow:hidden;aspect-ratio:21/9;background:var(--bg-3)}
.post-cover img{width:100%;height:100%;object-fit:cover}
.post-wrap{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);padding-block:clamp(40px,5vw,72px) clamp(56px,7vw,100px)}
.post-wrap>*{min-width:0}
.post-wrap>.post-body:first-child{grid-column:2}
.toc{min-width:0}
.toc-d{position:sticky;top:110px;display:grid;gap:12px}
.toc-d p,.toc-m summary{font-size:13.5px;font-weight:700;color:var(--ink)}
.toc ul{display:grid;gap:2px;border-left:2px solid var(--line)}
.toc li a{position:relative;display:block;padding:7px 0 7px 14px;font-size:14.5px;line-height:1.35;color:var(--ink-3);text-decoration:none;transition:color .25s}
.toc li a::before{content:"";position:absolute;left:-2px;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease-out)}
.toc li a:hover{color:var(--ink)}
.toc li a.on{color:var(--ink);font-weight:600}
.toc li a.on::before{transform:none}
.toc-m{display:none}
.post-body{max-width:68ch;font-size:18.5px;line-height:1.7;color:var(--ink)}
.post-body>*+*{margin-top:22px}
.post-body h2{scroll-margin-top:110px}
.post-body p,.post-body li{color:var(--ink)}
.post-body ul{gap:12px}
.post-body .tbl,.post-body .wp-block-table{overflow-x:auto;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line)}
.post-body table{min-width:520px}
.post-body tr:first-child td{border-top:0;background:var(--bg-2)}
.post-body .wp-block-image,.post-fig{margin:30px 0;border-radius:16px;overflow:hidden;box-shadow:var(--sh-2)}
.post-body .wp-block-image img{width:100%;border-radius:0}
.post-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin:40px 0;padding:24px;border-radius:20px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.post-box>div{display:grid;gap:6px}
.post-box .pb-k{font-size:13px;font-weight:700;color:var(--accent)}
.post-box .pb-t{font-family:var(--f-display);font-size:24px;line-height:1.1;font-weight:650;font-stretch:86%;letter-spacing:-.02em}
.post-box p:last-child{font-size:15.5px;color:var(--ink-2)}
.rich a.btn,.post-body a.btn{color:var(--on-accent);text-decoration:none}
.post-body a.more{text-decoration:none}
.post-disc{margin-top:48px!important;padding-top:20px;border-top:1px solid var(--line);font-size:14px!important;line-height:1.55!important;color:var(--ink-3)!important}
.author{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;align-items:start;margin-top:32px!important;padding:24px;border-radius:20px;background:var(--card);box-shadow:var(--sh-2);font-size:16px;line-height:1.55}
.author>img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 8%;background:var(--bg-3)}
.author>div{display:grid;gap:10px;justify-items:start}
.au-n{display:grid}
.au-n b{font-size:18px}
.au-n span{font-size:14px;color:var(--ink-3)}
.author p{color:var(--ink-2)}


/* responsive */
@media (max-width:1080px){
  .bgrid{grid-template-columns:1fr 1fr}
  .post-wrap{grid-template-columns:1fr;gap:0}
  .post-wrap>.post-body:first-child{grid-column:auto}
  .toc-d{display:none}
  .toc-m{display:block;margin-bottom:28px;border-radius:14px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
  .toc-m summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 16px;cursor:pointer;list-style:none}
  .toc-m summary::-webkit-details-marker{display:none}
  .toc-m summary svg{width:20px;height:20px;transition:transform .25s var(--ease-out);color:var(--accent)}
  .toc-m[open] summary svg{transform:rotate(180deg)}
  .toc-m ul{margin:0 16px 14px}
  .post-body{max-width:none}
}
@media (max-width:760px){
  .bfeat a{grid-template-columns:1fr}
  .bf-txt{padding:0 4px 8px}
  .bgrid{grid-template-columns:1fr}
  .post-body{font-size:17.5px}
  .pm-d{padding-left:0;border-left:0;flex-basis:100%}
  .post-box{grid-template-columns:1fr}
  .author{grid-template-columns:64px minmax(0,1fr);padding:18px}
  .author>img{width:64px;height:64px}
  .cchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;-webkit-overflow-scrolling:touch}
  .cchips::-webkit-scrollbar{display:none}
  .cchips a{flex:none}
}
.post-body>table{display:block;max-width:100%;overflow-x:auto;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line)}
.post-body h4,.entry h4{font-family:var(--f-display);font-size:clamp(18px,1.4vw,20px);line-height:1.25;font-weight:640;font-stretch:96%;letter-spacing:-.01em;color:var(--ink);margin-top:28px}
