/* ==========================================================================
   iSummation Blog — styles layered on top of site.css.
   GENERATED by tools/wp_theme.py. Do not hand-edit.
   Every value references a token from site.css's :root block.
   ========================================================================== */

/* --- reading column ------------------------------------------------------ */
.wrap-narrow{max-width:772px;}

/* --- topic bar under the header ------------------------------------------ */
.blog-subnav{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line);
}
.blog-subnav-in{
  display:flex;align-items:center;gap:18px;
  min-height:58px;padding:9px 0;
}
.topic-nav{
  display:flex;align-items:center;gap:7px;
  flex:1 1 auto;min-width:0;
  overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.topic-nav::-webkit-scrollbar{display:none;}
.topic{
  flex:0 0 auto;
  font-size:13.5px;font-weight:500;line-height:1;
  color:var(--body);
  padding:8px 13px;border-radius:999px;
  border:1px solid transparent;
  white-space:nowrap;
  transition:background .15s,color .15s,border-color .15s;
}
.topic:hover{background:var(--surface);color:var(--ink);}
.topic.is-on{
  background:var(--blue-50);color:var(--blue-700);
  border-color:var(--blue-100);font-weight:600;
}

/* --- search form --------------------------------------------------------- */
.isum-search{
  flex:0 0 auto;display:flex;align-items:center;
  background:var(--surface-2);
  border:1px solid var(--line);border-radius:999px;
  padding:2px 4px 2px 14px;
  transition:border-color .15s,box-shadow .15s;
}
.isum-search:focus-within{
  border-color:var(--blue-400);
  box-shadow:0 0 0 3px var(--blue-50);
}
.isum-search input[type=search]{
  border:0;background:transparent;outline:0;
  font:500 14px/1 var(--font-body);color:var(--ink);
  width:150px;padding:9px 0;
}
.isum-search input[type=search]::placeholder{color:var(--muted);font-weight:400;}
.isum-search button{
  border:0;background:var(--blue-600);color:#fff;
  width:32px;height:32px;border-radius:999px;
  cursor:pointer;font-size:14px;line-height:1;
  display:grid;place-items:center;
  transition:background .15s;
}
.isum-search button:hover{background:var(--blue-700);}

/* The 404 and empty-results search sits on its own line, wider. */
.blog-hero .isum-search{margin-top:26px;max-width:420px;}
.blog-hero .isum-search input[type=search]{width:100%;}
.blog-list .isum-search{margin-top:24px;max-width:420px;}

/* --- archive / index hero ------------------------------------------------ */
.blog-hero{
  padding:54px 0 42px;
  background:linear-gradient(180deg,var(--surface-2) 0%,var(--white) 100%);
  border-bottom:1px solid var(--line-2);
}
.blog-hero h1{margin:14px 0 0;font-size:clamp(2rem,3.6vw,3rem);}
.blog-hero .sub{
  margin:18px 0 0;max-width:660px;
  font-size:17.5px;line-height:1.6;color:var(--body);
}
.blog-list{padding:54px 0 84px;}

/* The eyebrow's amber-on-warm text is only 2.65:1 in site.css. Keeping the
   amber rule but taking the label to ink-2 clears AA at this size. Worth
   porting back into site.css. */
.blog-hero .eyebrow,.related .eyebrow{color:var(--ink-2);}

/* --- post cards ---------------------------------------------------------- */
.post-card{display:flex;flex-direction:column;}
.post-card .case-body{display:flex;flex-direction:column;flex:1 1 auto;}
.post-card .case-body h3{margin:10px 0 0;font-size:1.16rem;line-height:1.32;letter-spacing:-.015em;}
.post-card .case-body p{
  margin:10px 0 0;font-size:14.5px;line-height:1.62;color:var(--body);
}
.post-card .card-meta{
  margin-top:auto;padding-top:16px;
  font-size:12.5px;color:var(--muted);
  display:flex;align-items:center;gap:7px;
}
.post-card .case-thumb{background:var(--surface);}
.post-card .case-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.thumb-fallback{
  display:grid;place-items:center;width:100%;aspect-ratio:12/7;
  font:800 30px/1 var(--font-head);letter-spacing:.02em;
  color:var(--blue-600);
  background:
    radial-gradient(120% 120% at 15% 10%,var(--blue-50) 0%,transparent 60%),
    var(--surface);
}

/* --- single post --------------------------------------------------------- */
.post-single{padding:0;}
.post-head{padding:46px 0 30px;}
.post-head .eyebrow{color:var(--ink-2);}
.post-title{
  margin:14px 0 0;
  font-size:clamp(2rem,3.9vw,3.05rem);
  line-height:1.1;letter-spacing:-.03em;
}
.post-standfirst{
  margin:20px 0 0;
  font-size:19.5px;line-height:1.58;color:var(--body);
}
.post-byline{
  margin-top:24px;padding-top:20px;
  border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  font-size:14px;color:var(--muted);
}
.post-byline .by{color:var(--ink-2);font-weight:600;}
.post-meta,.post-byline{align-items:center;}
.post-meta{display:flex;flex-wrap:wrap;gap:9px;font-size:13.5px;color:var(--muted);}
.dot{opacity:.55;}

.post-cover{margin:8px 0 4px;}
.post-cover img{
  display:block;width:100%;height:auto;
  border-radius:var(--r-lg);box-shadow:var(--shadow);
}
.post-body{padding:38px 0 20px;}

/* --- article typography (.prose) ----------------------------------------- */
/* Existing posts are a mix of classic-editor HTML and Gutenberg blocks, so
   this styles bare tags and the wp-block-* wrappers alike. */
.prose{font-size:17.5px;line-height:1.74;color:var(--ink-2);}
.prose > *:first-child{margin-top:0;}
.prose p{margin:0 0 1.35em;}
.prose h2,.prose h3,.prose h4{
  font-family:var(--font-head);color:var(--ink);
  letter-spacing:-.02em;line-height:1.22;
}
.prose h2{font-size:1.85rem;font-weight:700;margin:2.3em 0 .6em;}
.prose h3{font-size:1.32rem;font-weight:700;margin:1.9em 0 .5em;}
.prose h4{font-size:1.08rem;font-weight:700;margin:1.6em 0 .45em;}
.prose h2:first-child,.prose h3:first-child{margin-top:0;}
.prose a{color:var(--blue-700);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--blue-600);}
.prose strong,.prose b{color:var(--ink);font-weight:650;}
.prose ul,.prose ol{margin:0 0 1.35em;padding-left:1.35em;}
.prose li{margin:0 0 .55em;}
.prose li::marker{color:var(--amber-600);}
.prose ol li::marker{color:var(--muted);font-variant-numeric:tabular-nums;}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.6em 0;}
.prose img{max-width:100%;height:auto;border-radius:var(--r);display:block;}
.prose figure{margin:2em 0;}
.prose figcaption,.prose .wp-caption-text{
  margin-top:10px;font-size:13.5px;line-height:1.5;color:var(--muted);
}
.prose blockquote{
  margin:2em 0;padding:4px 0 4px 22px;
  border-left:3px solid var(--amber-500);
  font-size:19px;line-height:1.6;color:var(--ink);
}
.prose blockquote p:last-child{margin-bottom:0;}
.prose blockquote cite{
  display:block;margin-top:10px;
  font-size:14px;font-style:normal;color:var(--muted);
}
.prose code{
  font:500 .88em/1.5 var(--font-mono);
  background:var(--surface);border:1px solid var(--line-2);
  padding:.15em .4em;border-radius:6px;color:var(--ink);
}
.prose pre{
  margin:1.8em 0;padding:20px 22px;overflow-x:auto;
  background:var(--char-900);color:var(--d-text);
  border-radius:var(--r);
  font:400 14px/1.65 var(--font-mono);
}
.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit;}
.prose table{
  width:100%;border-collapse:collapse;margin:1.9em 0;
  font-size:15px;display:block;overflow-x:auto;
}
.prose th,.prose td{
  border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top;
}
.prose th{background:var(--surface);font-weight:650;color:var(--ink);}
.prose iframe,.prose video,.prose embed,.prose object{
  max-width:100%;border-radius:var(--r);
}
.prose .wp-block-embed__wrapper iframe{width:100%;aspect-ratio:16/9;height:auto;}
.prose .wp-block-image{margin:2em 0;}
.prose .wp-block-button__link{
  display:inline-block;background:var(--blue-600);color:#fff;
  padding:12px 22px;border-radius:999px;font-weight:600;text-decoration:none;
}
.prose .wp-block-button__link:hover{background:var(--blue-700);color:#fff;}
.prose .alignwide{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;}
@media (min-width:1024px){
  .prose .alignwide{margin-left:-90px;margin-right:-90px;max-width:none;}
}

/* WordPress alignment + caption classes, required for older post content */
.alignleft{float:left;margin:.3em 1.6em 1.2em 0;}
.alignright{float:right;margin:.3em 0 1.2em 1.6em;}
.aligncenter{display:block;margin-left:auto;margin-right:auto;}
.alignnone{margin:1.5em 0;}
.wp-caption{max-width:100%;}
.wp-caption img{margin:0;}
.gallery-caption{font-size:13.5px;color:var(--muted);}
.sticky .post-card,.bypostauthor > .comment-body{position:relative;}
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}
.screen-reader-text:focus{
  position:static!important;width:auto;height:auto;clip:auto;clip-path:none;
}
@media (max-width:640px){
  .alignleft,.alignright{float:none;margin:1.5em 0;}
}

/* --- tags, share, pagination --------------------------------------------- */
.post-tags{
  margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:8px;
}
.post-tags a{
  font-size:13px;font-weight:500;color:var(--body);
  background:var(--surface);border:1px solid var(--line-2);
  padding:6px 12px;border-radius:999px;
}
.post-tags a:hover{background:var(--blue-50);color:var(--blue-700);border-color:var(--blue-100);}
.post-share{
  margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;
  font-size:14px;color:var(--muted);
}
.post-share span{font-weight:600;color:var(--ink-2);}
.post-share a{color:var(--blue-700);font-weight:500;}
.post-share a:hover{text-decoration:underline;}

.navigation.pagination{margin-top:52px;}
.navigation.pagination .nav-links{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;
}
.page-numbers{
  min-width:42px;height:42px;padding:0 14px;
  display:inline-grid;place-items:center;
  border:1px solid var(--line);border-radius:var(--r-sm);
  font-size:14.5px;font-weight:600;color:var(--body);background:var(--white);
  transition:border-color .15s,color .15s,background .15s;
}
a.page-numbers:hover{border-color:var(--blue-400);color:var(--blue-700);}
.page-numbers.current{background:var(--blue-600);border-color:var(--blue-600);color:#fff;}
.page-numbers.dots{border-color:transparent;background:none;}

/* --- related + comments --------------------------------------------------- */
.related{padding:70px 0 78px;margin-top:56px;}
.post-comments{padding:64px 0 20px;}
.comments-title{font-size:1.5rem;margin:0 0 24px;}
.comment-list{list-style:none;margin:0 0 40px;padding:0;}
.comment-list ol.children{list-style:none;margin:20px 0 0 26px;padding:0;}
.comment-body{
  padding:20px 22px;margin-bottom:16px;
  background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r);
}
.comment-meta{font-size:13.5px;color:var(--muted);margin-bottom:10px;}
.comment-author .fn{color:var(--ink-2);font-weight:650;font-style:normal;}
.comment-author img{border-radius:999px;vertical-align:middle;margin-right:9px;}
.comment-content{font-size:15.5px;line-height:1.68;color:var(--ink-2);}
.comment-respond{
  padding:26px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);
}
.comment-respond .comment-reply-title{margin:0 0 16px;font-size:1.25rem;}
.comment-form label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px;}
.comment-form input[type=text],.comment-form input[type=email],
.comment-form input[type=url],.comment-form textarea{
  width:100%;padding:11px 14px;margin-bottom:16px;
  border:1px solid var(--line);border-radius:var(--r-sm);
  font:400 15px/1.5 var(--font-body);color:var(--ink);background:var(--white);
}
.comment-form input:focus,.comment-form textarea:focus{
  outline:0;border-color:var(--blue-400);box-shadow:0 0 0 3px var(--blue-50);
}
.comment-form .form-submit{margin:0;}

/* --- responsive ---------------------------------------------------------- */
@media (max-width:860px){
  .blog-subnav{position:static;}
  .blog-subnav-in{flex-direction:column;align-items:stretch;gap:10px;}
  .isum-search{width:100%;}
  .isum-search input[type=search]{width:100%;}
  .blog-hero{padding:38px 0 32px;}
  .blog-list{padding:40px 0 64px;}
  .post-head{padding:32px 0 24px;}
  .related{padding:52px 0 58px;margin-top:40px;}
  .prose{font-size:16.8px;}
  .prose pre{padding:16px;font-size:13px;}
}
