/* v4.3: Graduating portrait on Home; light website with article-only reading mode. */
/* HOME PHOTO: an editorial print treatment that complements the watercolor palette. */
.hero-visual--graduation::before {
  background:linear-gradient(145deg,rgba(236,228,253,.72),rgba(206,228,250,.67) 55%,rgba(252,233,225,.52));
  border-color:rgba(255,255,255,.77);
  box-shadow:0 20px 66px rgba(59,77,121,.14);
}
.hero-photo-backdrop--graduation {
  padding:11px;
  border:1px solid rgba(255,255,255,.95);
  background:linear-gradient(145deg,#fff 0%,#f9fbff 72%,#edf3ff 100%);
  box-shadow:0 23px 60px rgba(27,46,88,.18),0 5px 15px rgba(27,46,88,.07);
  transform:rotate(-1.35deg);
}
.hero-photo-frame--graduation {
  aspect-ratio:4/4.8;
  position:relative;
  isolation:isolate;
  border-radius:25px;
  background:#E4EAF6;
  overflow:hidden;
}
.hero-photo-frame--graduation img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 84%;
  filter:saturate(1.045) contrast(1.035);
  transform:scale(1.52);
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
}
.hero-visual--graduation:hover .hero-photo-frame--graduation img { transform:scale(1.57); }
.hero-photo-frame--graduation::after {
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent 65%,rgba(16,27,45,.07));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);
  border-radius:inherit;
}
.hero-visual--graduation .hero-v42-stat { box-shadow:0 13px 30px rgba(31,53,96,.13); }
.hero-visual--graduation .hero-photo-note { background:rgba(255,255,255,.97); backdrop-filter:blur(10px); }

/* ARTICLE TOOLBAR: visible only on a single blog post; hidden everywhere else by template. */
.article-reading-topline { display:flex; align-items:center; justify-content:space-between; gap:16px 22px; flex-wrap:wrap; margin-bottom:24px; }
.article-reading-topline .breadcrumbs { margin:0; }
.article-theme-toggle {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:43px; flex:0 0 auto; padding:9px 15px;
  border:1px solid #D8E1EF; border-radius:999px;
  background:#FFFFFF; color:#294667;
  font:700 12px/1.3 var(--body,Inter,Arial,sans-serif);
  cursor:pointer; white-space:nowrap;
  box-shadow:0 4px 17px rgba(32,54,85,.055);
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.article-theme-toggle:hover { background:#EFF4FC; border-color:#AFC3E9; transform:translateY(-1px); box-shadow:0 7px 21px rgba(32,54,85,.09); }
.article-theme-toggle:focus-visible { outline:3px solid #5A86E9; outline-offset:3px; }
.article-toggle-moon,.article-toggle-sun { display:flex; align-items:center; justify-content:center; }
.article-toggle-sun { display:none; }
html.article-reading-dark .article-theme-toggle .article-toggle-moon { display:none; }
html.article-reading-dark .article-theme-toggle .article-toggle-sun { display:flex; }

/* BLOG ARTICLE ONLY: custom-property colors are scoped to #main, never the header/footer. */
html.article-reading-dark body.single-post #main {
  --bg:#101828; --surface:#19263B; --text:#EBF2FD; --navy:#EBF2FD;
  --ink:#F1F5FC; --ink2:#DCE7F7; --muted:#BECCE1; --soft:#ABBCD2;
  --slate:#BECCE1; --border:#34455F; --line:var(--border);
  --link:#A8CAFF; --blue:var(--link); --tint:#1B2A41; --cream:var(--tint);
  --white:var(--surface); --paper:var(--bg); --ice:var(--tint); --blueborder:var(--border);
  color:var(--text); background:var(--bg); color-scheme:dark;
}
html.article-reading-dark body.single-post #main .article-head .eyebrow { color:#AEC9F7; }
html.article-reading-dark body.single-post #main .breadcrumbs { color:#BAC9DC; }
html.article-reading-dark body.single-post #main .breadcrumbs a { color:#B5D0FA; }
html.article-reading-dark body.single-post #main .breadcrumbs a:hover { color:#FFFFFF; }
html.article-reading-dark body.single-post #main .breadcrumbs span { color:#7288A6; }
html.article-reading-dark body.single-post #main .article-meta,
html.article-reading-dark body.single-post #main .article-taxonomy-label { color:#B7C6DA; }
html.article-reading-dark body.single-post #main .article-theme-toggle {
  color:#E7F0FF; background:#23354E; border-color:#476080;
  box-shadow:0 5px 20px rgba(0,0,0,.15);
}
html.article-reading-dark body.single-post #main .article-theme-toggle:hover { background:#304866; border-color:#7698C5; }
html.article-reading-dark body.single-post #main .article-theme-toggle:focus-visible { outline-color:#9BC1FF; }
html.article-reading-dark body.single-post #main .prose { color:var(--muted); }
html.article-reading-dark body.single-post #main .prose strong,
html.article-reading-dark body.single-post #main .article-takeaway strong { color:#F4F7FF; }
html.article-reading-dark body.single-post #main .prose a:not(.button) { color:#A8CAFF; }
html.article-reading-dark body.single-post #main .prose a:not(.button):hover { color:#D8E8FF; }
html.article-reading-dark body.single-post #main .prose blockquote,
html.article-reading-dark body.single-post #main .article-takeaway { background:#1E304B; border-color:#618CE2; }
html.article-reading-dark body.single-post #main .article-taxonomy a,
html.article-reading-dark body.single-post #main .article-source a { color:#A8CAFF; }
html.article-reading-dark body.single-post #main .article-author p,
html.article-reading-dark body.single-post #main .share-heading p,
html.article-reading-dark body.single-post #main .discussion-intro,
html.article-reading-dark body.single-post #main .comment-notes { color:var(--muted); }
html.article-reading-dark body.single-post #main .share-button { background:#1C2D46; color:#D7E8FF; border-color:#3F5573; }
html.article-reading-dark body.single-post #main .share-button:hover { background:#2C4160; color:#FFFFFF; border-color:#7597C8; }
html.article-reading-dark body.single-post #main .share-status { color:#B2E5CC; }
html.article-reading-dark body.single-post #main .related-links a { color:#E6EFFD; }
html.article-reading-dark body.single-post #main .related-links a:hover { color:#A8CAFF; }
html.article-reading-dark body.single-post #main .related-links a span:first-child { color:#B4C2D5; }
html.article-reading-dark body.single-post #main .comment-metadata,
html.article-reading-dark body.single-post #main .comment-content { color:var(--muted); }
html.article-reading-dark body.single-post #main .comment-author a,
html.article-reading-dark body.single-post #main .comment-metadata a { color:#B5D1FF; }
html.article-reading-dark body.single-post #main .comment-form input:not([type="submit"]),
html.article-reading-dark body.single-post #main .comment-form textarea { background:#1D2C43; color:#F1F6FF; border-color:#435673; }
html.article-reading-dark body.single-post #main .comment-form input:focus,
html.article-reading-dark body.single-post #main .comment-form textarea:focus { box-shadow:0 0 0 3px rgba(107,150,220,.26); }
html.article-reading-dark body.single-post #main .article-body :is(pre,.wp-block-code,.wp-block-preformatted) { background:#1A293F; border:1px solid #344B6A; border-radius:10px; color:#E8F1FF; padding:15px; overflow-x:auto; }
html.article-reading-dark body.single-post #main .article-body :is(code,kbd) { color:#D7E7FF; }
html.article-reading-dark body.single-post #main .article-body :is(table,th,td) { border-color:#465773; color:var(--text); }
html.article-reading-dark body.single-post #main .article-body .wp-block-table tbody tr:nth-child(2n) { background:rgba(255,255,255,.04); }

@media(max-width:760px) {
  .hero-photo-frame--graduation { border-radius:21px; }
  .hero-visual--graduation .hero-photo-note { right:-20px; }
  .article-reading-topline { gap:13px 16px; margin-bottom:20px; }
  .article-theme-toggle { min-height:42px; padding:9px 13px; }
}
@media(max-width:380px) {
  .article-reading-topline { align-items:flex-start; }
  .article-theme-toggle { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-photo-frame--graduation img,.article-theme-toggle { transition:none; }
  .hero-visual--graduation:hover .hero-photo-frame--graduation img { transform:scale(1.52); }
}
