/*
 * Component styles — verbatim port of the Astro component CSS layer.
 *
 * Sources (Astro repo, dist/ production build):
 *  - dist/_astro/_slug_.d5Tlxwhu.css   -> Nav.astro (nav.bar). The @font-face
 *    and :root/global chunk of that bundle is already shipped verbatim by
 *    fonts.css / tokens.css / global.css and is NOT duplicated here.
 *  - dist/_astro/index.CUDm3XkW.css    -> Hero, SectionHeading (.head),
 *    stats (.facts), principles (.prin), values strip (.creed), and the
 *    front-page sections (section.S, .body, .pull, .skill, .evidence, .shot).
 *  - inline <style> in dist HTML heads  -> ArticleCard (.row), CTA footer,
 *    articles index (.idx), 404 (.nf).
 *  - dist/_astro/_slug_.BEp5QYTg.css   -> article page (.arthead, .byline,
 *    .artbody, .rail/.toc/.share, .prose, .endmark, .author, .related,
 *    .artfoot).
 *
 * The only transformation applied: every [data-astro-cid-xxxxxxxx] attribute
 * selector is stripped (the WP markup intentionally drops those scoping
 * attributes); declarations are byte-identical to dist. Loaded after
 * global.css (see inc/enqueue.php).
 */

/* ---- Nav (Nav.astro) ---- */
nav.bar{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--grey-300)}nav.bar .wrap{display:flex;align-items:center;gap:24px;height:64px}nav.bar .logotype{margin-right:auto;display:flex;align-items:center}nav.bar .links{display:flex;gap:4px}nav.bar .links a{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--grey-700);padding:8px 12px;position:relative}nav.bar .links a:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}nav.bar .links a:hover{color:var(--ink)}nav.bar .links a:hover:after,nav.bar .links a.active:after{transform:scaleX(1)}nav.bar .links a.active{color:var(--blue)}@media(max-width:880px){nav.bar .links{display:none}}

/* ---- Front page: hero, section heading, facts, principles, creed, sections (index.CUDm3XkW.css) ---- */
.hero{padding-top:clamp(56px,9vw,104px);padding-bottom:clamp(48px,7vw,80px)}.hero .cols{align-items:center}.hero .lead-col{grid-column:span 7}.hero .art-col{grid-column:span 5}@media(max-width:880px){.hero .lead-col,.hero .art-col{grid-column:span 12}.hero .art-col{margin-top:40px}}.hero h1{font-family:var(--geo);font-weight:700;font-size:clamp(40px,6.4vw,76px);letter-spacing:-.02em;line-height:1.04;margin:24px 0 0}.hero h1 .fwd{width:.62em;height:.085em;min-height:5px;margin-left:.04em;vertical-align:.16em;transform-origin:left;transition:transform .5s var(--ease)}.hero h1:hover .fwd{transform:scaleX(1.5)}.hero .lede{font-family:var(--serif);font-size:clamp(19px,2.1vw,24px);line-height:1.5;color:var(--ink);max-width:30ch;margin-top:32px}.hero .meta{display:flex;gap:48px;margin-top:40px;flex-wrap:wrap}.hero .meta div{font-family:var(--mono);font-size:12px;line-height:1.8;color:var(--grey-700)}.hero .meta span{display:block;color:var(--grey-500)}.art{position:relative;aspect-ratio:4/5;border:1px solid var(--grey-300);background:var(--grey-100);cursor:crosshair}.art canvas{position:absolute;inset:0;width:100%;height:100%}.art .cap{position:absolute;left:16px;bottom:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-500)}@media(max-width:880px){.hero .meta{gap:24px}}.head{margin-bottom:48px}.head.wide{max-width:62ch}.head .num{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}.head h2{font-family:var(--geo);font-size:clamp(28px,3.4vw,36px);line-height:1.15;letter-spacing:-.02em;margin-top:16px;max-width:18ch}.head.wide h2{max-width:none}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin-top:8px}.fact{border-top:2px solid var(--grey-300);padding-top:16px}.fact .v{font-family:var(--mono);font-weight:500;font-size:clamp(28px,3.6vw,40px);line-height:1;color:var(--ink)}.fact.blue{border-top-color:var(--blue)}.fact.blue .v{color:var(--blue)}.fact .k{font-size:13px;color:var(--grey-700);margin-top:10px;line-height:1.45}@media(max-width:560px){.facts{grid-template-columns:1fr}}.prin{padding:32px 0;border-top:1px solid var(--grey-300)}.prin .pn{font-family:var(--mono);font-size:12px;color:var(--grey-500);display:block;margin-bottom:14px}.prin h3{font-size:clamp(19px,2.1vw,23px);margin-bottom:10px}.prin p{font-size:15px;color:var(--grey-700);max-width:46ch}.creed{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--grey-300);margin:8px 0 28px}.creed b{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--grey-700);padding:14px 18px 14px 0;position:relative}.creed b:not(:last-child){margin-right:18px}.creed b:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:var(--grey-300)}section.S{padding:clamp(64px,9vw,96px) 0;border-top:1px solid var(--grey-300)}.body p{max-width:64ch;margin-bottom:1.1em;color:var(--grey-700)}.body p strong{color:var(--ink);font-weight:700}.body p.first{font-size:clamp(17px,1.7vw,19px);color:var(--ink)}.pull{font-family:var(--serif);font-size:clamp(22px,2.8vw,30px);line-height:1.36;letter-spacing:-.01em;color:var(--ink);max-width:20ch}.pull em{font-style:italic;color:var(--blue-deep)}.skill{display:grid;grid-template-columns:48px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--grey-300);align-items:baseline}.skill:last-of-type{border-bottom:1px solid var(--grey-300)}.skill .n{font-family:var(--mono);font-size:12px;color:var(--grey-500)}.skill h3{font-size:clamp(18px,2vw,22px);margin-bottom:8px}.skill p{font-size:15px;color:var(--grey-700);max-width:54ch;margin:0}.skill .ix{display:inline-block;width:0;height:2px;background:var(--blue);margin-top:12px;transition:width .5s var(--ease)}.skill:hover .ix{width:48px}.evidence{border:1px solid var(--grey-300);padding:32px;margin-top:40px}@media(min-width:881px){.evidence{margin-top:calc(89px + clamp(32px,3.9vw,41px))}}.evidence svg{width:100%;height:auto;display:block}.evidence .cap{font-family:var(--mono);font-size:12px;color:var(--grey-500);margin-top:20px;line-height:1.7}.shot .frame{border:1px solid var(--grey-300);overflow:hidden;background:var(--grey-100);aspect-ratio:4/5}.shot .frame img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:grayscale(1);transition:filter .6s var(--ease)}.shot:hover .frame img{filter:grayscale(0)}.shot .cap{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-500);margin-top:12px}

/* ---- Article card row (ArticleCard.astro inline style) ---- */
.row{display:grid;grid-template-columns:40px 1fr auto;align-items:start;gap:20px;padding:24px 0;border-top:1px solid var(--grey-300);position:relative}.row:last-child{border-bottom:1px solid var(--grey-300)}.row .n{font-family:var(--mono);font-size:12px;color:var(--grey-500);padding-top:3px}.row .body{display:flex;flex-direction:column;gap:7px;min-width:0;transition:transform .45s var(--ease)}.row .tags{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-500);display:flex;align-items:center;gap:9px}.row .pillar{color:var(--grey-700)}.row .dot{color:var(--grey-300)}.row .t{font-size:clamp(17px,1.9vw,21px);font-weight:500;letter-spacing:-.01em;line-height:1.25}.row .dek{font-size:14.5px;color:var(--grey-700);line-height:1.5;max-width:62ch}.row .go{display:flex;align-items:center;gap:0;font-family:var(--mono);font-size:12px;color:var(--grey-500);opacity:0;transition:opacity .35s var(--ease);padding-top:3px;white-space:nowrap}.row .go .line{display:inline-block;width:0;height:2px;background:var(--blue);transition:width .45s var(--ease)}.row:hover .body{transform:translate(14px)}.row:hover .go{opacity:1;color:var(--blue)}.row:hover .go .line{width:28px}@media(max-width:560px){.row{grid-template-columns:28px 1fr;gap:14px}.row .go{display:none}}

/* ---- CTA footer (Footer.astro inline style) ---- */
footer{border-top:1px solid var(--ink);padding:clamp(48px,7vw,72px) 0 clamp(40px,6vw,64px)}footer .top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}footer .lead{display:flex;flex-direction:column;gap:28px}footer .big{font-family:var(--geo);font-weight:500;font-size:clamp(28px,4vw,44px);letter-spacing:-.01em;line-height:1.1;max-width:16ch}footer .big .fwd{width:.5em;height:5px;vertical-align:.22em}footer .cta{display:flex;flex-wrap:wrap;align-items:center;gap:28px}footer .cta a{font-family:var(--mono);font-size:13px;letter-spacing:.03em;transition:color .25s var(--ease)}footer .cta-primary{color:var(--ink);font-weight:500}footer .cta-primary:hover{color:var(--blue)}footer .cta-secondary{color:var(--grey-700)}footer .cta-secondary:hover{color:var(--ink)}footer .right{font-family:var(--mono);font-size:12px;color:var(--grey-500);text-align:right;line-height:1.9}footer .credit{display:flex;align-items:center;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--grey-300)}footer .credit p{font-family:var(--mono);font-size:12px;color:var(--grey-500)}@media(max-width:560px){footer .right{text-align:left}}

/* ---- Articles index (.idx, articles/index.astro inline style) ---- */
.idx{padding:clamp(56px,9vw,104px) 0 clamp(48px,7vw,80px)}.idx h1{font-family:var(--geo);font-weight:700;font-size:clamp(34px,5vw,56px);letter-spacing:-.02em;line-height:1.05;margin:16px 0 40px;max-width:16ch}.idx .empty{font-family:var(--mono);font-size:13px;color:var(--grey-500)}

/* ---- Article page (arthead, byline, rail/toc, prose, related, artfoot) (_slug_.BEp5QYTg.css) ---- */
.arthead{padding:clamp(48px,7vw,88px) 0 0}.arthead .back{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--grey-500);display:inline-flex;align-items:center;gap:10px;margin-bottom:40px}.arthead .back .fwd{width:18px;margin:0;transform:scaleX(-1)}.arthead .back:hover{color:var(--blue)}.arthead .kicker{margin-bottom:24px}.arthead h1{font-family:var(--geo);font-weight:700;letter-spacing:-.02em;line-height:1.04;font-size:clamp(34px,5.4vw,60px);max-width:18ch}.arthead .lede{font-family:var(--serif);font-size:clamp(20px,2.3vw,27px);line-height:1.45;color:var(--ink);max-width:46ch;margin-top:28px}.byline{display:flex;flex-wrap:wrap;gap:32px;margin:40px 0 0;padding:20px 0;border-top:1px solid var(--grey-300);border-bottom:1px solid var(--ink)}.byline div{font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--grey-700)}.byline span{display:block;color:var(--grey-500)}.byline .author b{font-weight:700;color:var(--ink)}.artbody{padding:clamp(40px,6vw,72px) 0 clamp(56px,8vw,96px)}.rail{grid-column:span 3;align-self:start}.rail .sticky{position:sticky;top:88px}.rail .ttl{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-500);margin-bottom:14px}.rail .toc{list-style:none;border-top:1px solid var(--grey-300)}.rail .toc li{border-bottom:1px solid var(--grey-300)}.rail .toc a{display:block;padding:11px 0;font-size:13.5px;color:var(--grey-700);position:relative;transition:padding-left .3s var(--ease),color .3s}.rail .toc a:before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:var(--blue);transition:width .3s var(--ease)}.rail .toc a:hover,.rail .toc a.active{color:var(--blue);padding-left:20px}.rail .toc a:hover:before,.rail .toc a.active:before{width:12px}.rail .share{margin-top:32px;display:flex;flex-direction:column;border-top:1px solid var(--grey-300)}.rail .share a,.rail .share button{font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--grey-700);padding:11px 0;border:0;border-bottom:1px solid var(--grey-300);display:flex;justify-content:space-between;align-items:center;width:100%;background:none;text-align:left;cursor:pointer}.rail .share a:hover,.rail .share button:hover{color:var(--blue)}.col{grid-column:5 / span 7}@media(max-width:880px){.rail{grid-column:span 12;margin-bottom:32px}.rail .sticky{position:static}.rail .toc{display:none}.col{grid-column:span 12}}.prose{max-width:64ch}.prose>*{margin-bottom:1.5em}.prose p{font-size:clamp(16px,1.35vw,18px);line-height:1.68;color:var(--grey-700)}.prose>p:first-of-type{color:var(--ink)}.prose p strong{color:var(--ink);font-weight:700}.prose p em{font-family:var(--serif);font-style:italic;color:var(--ink)}.prose a{color:var(--blue);border-bottom:1px solid var(--blue-tint);transition:border-color .25s}.prose a:hover{border-bottom-color:var(--blue)}.prose h2{font-family:var(--sans);font-weight:700;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.01em;line-height:1.25;color:var(--ink);margin-top:2.2em;padding-top:1.6em;border-top:1px solid var(--grey-300)}.prose h3{font-family:var(--sans);font-weight:700;font-size:18px;color:var(--ink);margin-top:1.8em}.prose ol{list-style:none;counter-reset:n;max-width:62ch}.prose ol li{counter-increment:n;position:relative;padding:14px 0 14px 44px;border-top:1px solid var(--grey-300);font-size:16.5px;color:var(--grey-700);line-height:1.6}.prose ol li:last-child{border-bottom:1px solid var(--grey-300)}.prose ol li:before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--mono);font-size:12px;color:var(--blue)}.prose blockquote{border-left:3px solid var(--blue);padding:8px 0 8px 28px;margin:2em 0}.prose blockquote p{font-family:var(--serif);font-size:clamp(20px,2.4vw,27px);line-height:1.4;color:var(--ink);margin-bottom:.5em}.prose blockquote p:last-child{margin-bottom:0}.prose .pquote{max-width:none;border:0;padding:8px 0 8px 28px;border-left:3px solid var(--blue);margin:2em 0}.prose .pquote p{font-family:var(--serif);font-size:clamp(22px,2.7vw,30px);line-height:1.38;color:var(--ink);margin:0}.prose .pquote cite{display:block;font-family:var(--mono);font-style:normal;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--grey-500);margin-top:16px}.prose figure.fig{margin:2.4em 0;border:1px solid var(--grey-300);padding:32px}.prose figure.fig svg{width:100%;height:auto;display:block}.prose figure.fig figcaption{font-family:var(--mono);font-size:12px;color:var(--grey-500);margin-top:20px;line-height:1.7}.prose .callout{display:flex;gap:28px;align-items:baseline;margin:2em 0;padding:24px 0;border-top:2px solid var(--blue);border-bottom:1px solid var(--grey-300)}.prose .callout .v{font-family:var(--mono);font-weight:500;font-size:clamp(36px,5vw,56px);line-height:.9;color:var(--blue)}.prose .callout .k{font-size:15px;color:var(--grey-700);line-height:1.5;max-width:34ch}.endmark{display:flex;align-items:center;gap:14px;margin-top:2.4em;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--grey-500)}.endmark .fwd{width:28px}.artbody .author{border-top:1px solid var(--ink);padding-top:32px;margin-top:48px;display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:start}.artbody .author .bio b{font-family:var(--sans);font-weight:700;font-size:16px;color:var(--ink);display:block;margin-bottom:6px}.artbody .author .bio p{font-size:14.5px;color:var(--grey-700);line-height:1.6;max-width:60ch;margin:0}.related{border-top:1px solid var(--grey-300);padding:clamp(48px,7vw,72px) 0}.related .ttl{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:32px}.artfoot{border-top:1px solid var(--ink);padding:clamp(40px,6vw,64px) 0}.artfoot .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.artfoot .lt{display:flex;align-items:center;gap:16px}.artfoot p{font-family:var(--mono);font-size:12px;color:var(--grey-500)}

/* ---- 404 (.nf, 404.astro inline style) ---- */
.nf{padding:clamp(80px,14vw,180px) 0 clamp(64px,10vw,120px)}.nf h1{font-family:var(--geo);font-weight:700;font-size:clamp(34px,6vw,64px);letter-spacing:-.02em;line-height:1.05;margin:16px 0 24px;max-width:14ch}.nf p{font-size:18px;color:var(--grey-700);max-width:52ch;margin-bottom:40px}.nf .home{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--blue);display:inline-flex;align-items:center}.nf .home .fwd{width:20px;transition:transform .4s var(--ease)}.nf .home:hover .fwd{transform:scaleX(1.5)}

/* Mobile nav — hamburger toggle + slide-down drawer (added: nav had no mobile menu;
   links were display:none <=880px with no replacement). Overrides the earlier
   `nav.bar .links{display:none}` by source order. */
.nav-toggle{display:none;width:40px;height:40px;border:0;background:none;cursor:pointer;padding:9px;margin-left:8px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:4px auto;transition:transform .3s var(--ease),opacity .2s var(--ease)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:880px){
  .nav-toggle{display:block}
  nav.bar .wrap{gap:12px}
  nav.bar .links{display:flex;flex-direction:column;gap:0;position:fixed;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--grey-300);padding:6px 0;max-height:calc(100dvh - 64px);overflow-y:auto;transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
  nav.bar.open .links{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  nav.bar .links a{padding:15px 24px;font-size:14px;border-bottom:1px solid var(--grey-100)}
  nav.bar .links a:after{display:none}
  nav.bar .links a:last-child{border-bottom:0}
}
