/* ==========================================================================
   isaacmashman.com components, on top of the shared site.css and property.css.
   Same rules as the family system: white and Ink grounds, Platinum as the only
   accent, zero radius, hairlines, flex-wrap grids. Only transform and opacity
   animate; everything hidden until revealed is scoped to html.js; nothing
   moves under prefers-reduced-motion; nothing decorative prints.
   ========================================================================== */

/* ---------------------------------------------------------------- shared tweaks */
/* Contrast on white grounds (WCAG AA): the shared rules below read at 3.4 to 3.8
   on white. .s-white p also outranks .pillar-w, which sits on an Ink cell. */
.s-white .pullquote cite{color:var(--ink-label);}
.s-white .pillar .pillar-w{color:var(--platinum);}
/* Long eyebrows (roles, founding lines) wrap on phones; give the second line air. */
.eyebrow{line-height:1.7; margin-bottom:22px;}

/* ---------------------------------------------------------------- home hero */
.hero-person{min-height:clamp(640px, 96vh, 980px);}
.hero-person .hero-inner{padding-bottom:clamp(48px, 7vw, 88px);}
.hero-person h1{
  font-size:clamp(54px, 9.6vw, 138px); line-height:0.94; letter-spacing:-0.035em;
  max-width:none; margin-bottom:30px;
}
.hero-person h1 em{display:block;}
.hero-person .lede{max-width:48ch;}
.hero-copy{position:relative; z-index:2; max-width:min(640px, 54%);}
.hero-portrait{
  position:absolute; z-index:1; top:76px; bottom:0; right:0;
  width:min(52vw, 760px); margin:0; pointer-events:none;
}
.hero-portrait > img{
  width:100%; height:100%; object-fit:cover; object-position:58% 18%;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,0.6) 18%, #000 38%), linear-gradient(to top, transparent 0%, rgba(0,0,0,0.7) 16%, #000 34%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,0.6) 18%, #000 38%), linear-gradient(to top, transparent 0%, rgba(0,0,0,0.7) 16%, #000 34%);
          mask-composite:intersect;
}
/* The fingerprint sits between the words and the portrait on the home page. */
.hero-person .fp{right:auto; left:34%; height:min(122%, 1120px);}
/* A load-time entrance in CSS alone: no script is needed for the portrait to
   appear, and reduced motion (site.css) turns the animation off entirely. */
.hero-portrait{animation:im-portrait-in 1.6s var(--ease) .12s both;}
@keyframes im-portrait-in{from{opacity:0; transform:translate3d(24px,0,0);}to{opacity:1; transform:none;}}
.hero-portrait > img{will-change:transform;}
.hero-person .hero-meta{background:linear-gradient(to top, rgba(10,10,10,0.92), rgba(10,10,10,0.6));}
@media (min-width:1441px){ .hero-portrait{right:calc((100vw - 1440px) / 2);} }
@media (max-width:1024px){
  .hero-copy{max-width:none;}
  .hero-portrait{top:76px; bottom:auto; height:min(64vh, 620px); width:100%;}
  .hero-portrait > img{
    object-position:50% 14%;
    -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 38%, rgba(0,0,0,0.35) 72%, transparent 100%);
    -webkit-mask-composite:source-over;
            mask-image:linear-gradient(to bottom, #000 0%, #000 38%, rgba(0,0,0,0.35) 72%, transparent 100%);
            mask-composite:add;
  }
  .hero-person .fp{left:auto; right:-30%;}
  .hero-person{min-height:max(720px, 100svh); padding-top:clamp(360px, 52vh, 520px);}
}
@media (max-width:620px){
  .hero-person{padding-top:clamp(300px, 46vh, 420px);}
  .hero-portrait{height:min(56vh, 480px);}
}

/* ---------------------------------------------------------------- page hero with a photo */
.page-hero.has-photo .wrap{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,0.75fr); gap:clamp(32px, 5vw, 80px); align-items:end;}
.page-hero .hero-photo{margin:0; position:relative; z-index:2; border:1px solid var(--rule-dark); background:var(--panel);}
.page-hero .hero-photo img{width:100%; height:auto;}
.page-hero .hero-photo figcaption{font-size:12.5px; line-height:1.55; color:var(--graphite); padding:10px 12px; border-top:1px solid var(--rule-dark);}
@media (max-width:880px){ .page-hero.has-photo .wrap{grid-template-columns:1fr;} .page-hero .hero-photo{max-width:420px;} }

/* ---------------------------------------------------------------- stats: five across */
.stats.five > .stat{flex:1 1 200px;}
.stat-note{margin-top:22px;}

/* ---------------------------------------------------------------- press row */
.press{border-top:1px solid var(--rule-dark); border-bottom:1px solid var(--rule-dark);}
.press-label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--platinum); margin:0; padding:26px 0 0;}
.press-list{list-style:none; margin:0; padding:10px 0 0; display:flex; flex-wrap:wrap;}
.press-list li{flex:1 1 150px; padding:20px 20px 26px 0;}
.press-list a{text-decoration:none; display:block;}
.press-name{display:block; font-family:var(--display); font-size:clamp(19px, 1.9vw, 25px); font-weight:700; letter-spacing:-0.02em; color:var(--white); line-height:1.1; transition:color .35s var(--ease);}
.press-note{display:block; margin-top:9px; font-family:var(--display); font-size:10px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--graphite);}
.press-list a:hover .press-name,.press-list a:focus-visible .press-name{color:var(--platinum);}
.s-white .press{border-color:var(--rule-light);}
.s-white .press-label{color:var(--ink-label);}
.s-white .press-name{color:var(--ink);}
.s-white .press-note{color:var(--ink-label);}
.s-white .press-list a:hover .press-name{color:var(--slate);}

/* ---------------------------------------------------------------- statement */
.statement{max-width:1100px;}
.statement p{
  font-family:var(--display); font-weight:300; letter-spacing:-0.025em; line-height:1.2;
  font-size:clamp(28px, 4.2vw, 58px); color:var(--white); max-width:none; margin:0;
}
.statement p strong{font-weight:700; color:var(--white);}
.s-white .statement p,.s-white .statement p strong{color:var(--ink);}
.statement cite{display:block; margin-top:30px; font-family:var(--display); font-style:normal; font-size:10.5px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--graphite);}
.s-white .statement cite{color:var(--ink-label);}
.split .statement p{font-size:clamp(24px, 2.7vw, 38px); line-height:1.25;}

/* ---------------------------------------------------------------- the companies, as a structure */
.org{position:relative;}
.org-root{display:flex; justify-content:center;}
.org-root-node{
  position:relative; text-align:center; padding:20px 30px;
  border:1px solid var(--platinum); background:var(--ink);
}
.org-root-node .org-name{font-family:var(--display); font-size:13px; font-weight:700; letter-spacing:0.3em; text-transform:uppercase; color:var(--white); text-indent:0.3em;}
.org-root-node .org-role{display:block; margin-top:8px; font-family:var(--display); font-size:10px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--graphite);}
.org-stem{display:block; width:1px; height:44px; margin:0 auto; background:var(--platinum); transform-origin:top;}
.org-branches{position:relative; display:flex; flex-wrap:wrap; gap:1px; background:var(--rule-dark); border:1px solid var(--rule-dark); list-style:none; margin:0; padding:0;}
.org-branches > li{flex:1 1 240px; background:var(--ink); position:relative; padding:clamp(28px, 3vw, 40px) clamp(22px, 2.4vw, 32px) clamp(26px, 3vw, 36px); display:flex; flex-direction:column;}
.org-branches > li.planned{background:var(--panel-deep);}
.org-branches > li::before{content:""; position:absolute; left:0; right:0; top:0; height:1px; background:var(--platinum); transform-origin:left;}
.org-branches > li.planned::before{background:repeating-linear-gradient(to right, var(--steel) 0 6px, transparent 6px 12px);}
.org-mark{height:30px; width:auto; align-self:flex-start; margin-bottom:22px; opacity:0.95;}
.org-mark.m-mcg{height:18px; margin-top:6px; margin-bottom:28px;}
.org-branches p.org-mark-text{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--steel); margin:0 0 26px; line-height:30px;}
.org-branches h3{font-size:clamp(19px, 1.7vw, 22px); margin-bottom:10px;}
.org-branches h3 a{color:inherit; text-decoration:none;}
.org-branches h3 a:hover{text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;}
.org-branches p.org-meta{font-family:var(--display); font-size:10px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--platinum); margin:0 0 14px; line-height:1.6;}
.org-branches p{font-size:14.5px; line-height:1.7; color:var(--steel); margin-bottom:0;}
.org-sub{list-style:none; margin:20px 0 0; padding:0 0 0 18px; border-left:1px solid var(--rule-dark);}
.org-sub li{position:relative; padding:10px 0; font-size:13.5px; line-height:1.55; color:var(--steel);}
.org-sub li::before{content:""; position:absolute; left:-18px; top:21px; width:12px; height:1px; background:var(--rule-dark);}
.org-sub strong{display:block; font-family:var(--display); font-size:13.5px; font-weight:600; color:var(--white); letter-spacing:-0.005em;}
.org-sub a{color:inherit; text-decoration:none;}
.org-sub a:hover strong{text-decoration:underline; text-underline-offset:3px;}
.org-link{margin-top:auto; padding-top:24px;}
.org-tag{display:inline-block; font-family:var(--display); font-size:9.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink); background:var(--platinum); padding:4px 8px; margin:0 0 18px;}
.org-tag.hollow{background:transparent; color:var(--platinum); border:1px solid var(--steel);}
.js .org.rv .org-stem{transform:scaleY(0); transition:transform .8s var(--ease) .2s;}
.js .org.rv.in .org-stem{transform:none;}
.js .org.rv .org-branches > li::before{transform:scaleX(0); transition:transform 1s var(--ease) calc(var(--i, 0) * 120ms + .5s);}
.js .org.rv.in .org-branches > li::before{transform:none;}

/* ---------------------------------------------------------------- company page: key facts beside copy */
.co-facts .specs dt{flex-basis:170px;}
.co-visit{margin-top:34px;}

/* ---------------------------------------------------------------- book feature */
.book-feature{display:grid; grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr); gap:clamp(40px, 6vw, 96px); align-items:start;}
@media (min-width:881px){ .book-feature > .book-figure{position:sticky; top:110px;} }
.book-feature .cover{max-width:400px; width:100%;}
.book-figure{margin:0;}
.book-figure figcaption{margin-top:12px; font-size:12.5px; line-height:1.55; color:var(--graphite);}
.s-white .book-figure figcaption{color:var(--ink-label);}
.formats{display:flex; flex-wrap:wrap; gap:1px; background:var(--rule-light); border:1px solid var(--rule-light); margin:34px 0 0;}
.formats > div{flex:1 1 150px; background:var(--white); padding:18px 18px 16px;}
.s-ink .formats{background:var(--rule-dark); border-color:var(--rule-dark);}
.s-ink .formats > div{background:var(--ink);}
.formats dt{font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-label); margin-bottom:8px;}
.formats dd{margin:0; font-family:var(--display); font-size:22px; font-weight:700; letter-spacing:-0.02em; color:var(--ink);}
.formats dd.soft{font-size:16px; letter-spacing:-0.01em; padding-top:4px;}
.formats dd small{display:block; margin-top:4px; font-family:var(--body); font-size:12.5px; font-weight:400; letter-spacing:0; color:var(--ink-label);}
.s-ink .formats dt{color:var(--graphite);}
.s-ink .formats dd{color:var(--white);}
.s-ink .formats dd.soft{font-size:16px; letter-spacing:-0.01em; padding-top:4px;}
.s-ink .formats dd small{color:var(--steel);}
@media (max-width:880px){ .book-feature{grid-template-columns:1fr;} .book-feature .cover{max-width:300px;} }

/* Contents of the book */
.contents{list-style:none; margin:0; padding:0; border-top:1px solid var(--rule-light);}
.contents li{display:flex; gap:22px; align-items:baseline; padding:16px 0; border-bottom:1px solid var(--rule-light);}
.contents .n{flex:0 0 58px; font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:0.18em; color:var(--ink-label);}
.contents .t{font-family:var(--display); font-size:clamp(17px, 1.6vw, 20px); font-weight:600; letter-spacing:-0.015em; color:var(--ink);}
.contents .c{margin-left:auto; font-size:13px; color:var(--ink-label); white-space:nowrap;}
.contents li.essay .t{font-weight:300; font-style:italic;}

/* Acclaim */
.acclaim{display:flex; flex-wrap:wrap; gap:1px; background:var(--rule-dark); border:1px solid var(--rule-dark);}
.acclaim figure{flex:1 1 300px; margin:0; background:var(--ink); padding:clamp(28px, 3vw, 40px);}
.acclaim blockquote{margin:0 0 22px; font-family:var(--display); font-weight:300; font-size:clamp(18px, 1.7vw, 21px); line-height:1.5; letter-spacing:-0.01em; color:var(--white);}
.acclaim figcaption{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--platinum); line-height:1.6;}
.acclaim figcaption span{display:block; color:var(--graphite); font-weight:600; letter-spacing:0.14em;}

/* ---------------------------------------------------------------- photo pair and mosaics */
.photo-pair{display:flex; flex-wrap:wrap; gap:clamp(16px, 2vw, 28px);}
.photo-pair figure{flex:1 1 300px; margin:0;}
.photo-pair img{width:100%; height:auto; border:1px solid var(--rule-dark);}
.s-white .photo-pair img{border-color:var(--rule-light);}
.photo-pair figcaption{margin-top:10px; font-size:12.5px; line-height:1.55; color:var(--graphite);}
.s-white .photo-pair figcaption{color:var(--ink-label);}

/* ---------------------------------------------------------------- mini timeline (home) */
.tl-mini{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); border-top:1px solid var(--rule-light); position:relative;}
.tl-mini + .tl-mini-label{margin-top:clamp(40px, 5vw, 56px);}
.tl-mini-label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin:0 0 16px;}
.tl-mini.ahead{border-top-style:dashed; border-top-color:var(--slate);}
.tl-mini li{padding:28px 18px 6px 0; position:relative; min-width:0;}
@media (max-width:1024px){ .tl-mini{grid-template-columns:repeat(4, minmax(0,1fr));} .tl-mini li{padding-bottom:22px;} }
@media (max-width:620px){ .tl-mini{grid-template-columns:repeat(2, minmax(0,1fr));} }
.tl-mini li::before{content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; background:var(--white); border:1px solid var(--ink);}
.tl-mini li.future::before{background:var(--white); border-style:dashed; border-color:var(--slate);}
.tl-mini .y{display:block; font-family:var(--display); font-size:clamp(26px, 2.6vw, 34px); font-weight:800; letter-spacing:-0.03em; color:var(--ink); line-height:1;}
.tl-mini .w{display:block; margin-top:12px; font-size:14px; line-height:1.6; color:var(--ink-body);}
.tl-mini li.future .y{color:var(--slate);}
.s-ink .tl-mini{border-color:var(--rule-dark);}
.s-ink .tl-mini li::before{background:var(--ink); border-color:var(--platinum);}
.s-ink .tl-mini .y{color:var(--white);}
.s-ink .tl-mini .w{color:var(--steel);}

/* ---------------------------------------------------------------- the timeline */
.tl{display:grid; grid-template-columns:minmax(0,0.42fr) minmax(0,1fr); gap:clamp(24px, 5vw, 80px); align-items:start;}
.tl-aside{position:sticky; top:110px;}
.tl-now{font-family:var(--display); font-weight:800; font-size:clamp(64px, 9vw, 150px); letter-spacing:-0.05em; line-height:0.9; color:var(--ink); margin:0 0 18px; font-variant-numeric:tabular-nums;}
.tl-now-label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin:0;}
.tl-legend{margin-top:34px; font-size:13.5px; line-height:1.7; color:var(--ink-label); max-width:30ch;}
.tl-list{list-style:none; margin:0; padding:0 0 0 34px; position:relative;}
.tl-list::before{content:""; position:absolute; left:4px; top:8px; bottom:0; width:1px; background:var(--rule-light);}
.tl-track{position:relative;}
.tl-rail{position:absolute; z-index:1; left:4px; top:8px; bottom:0; width:1px; background:var(--ink); transform-origin:top; transform:scaleY(0);}
.tl-item{position:relative; padding:0 0 clamp(40px, 5vw, 60px);}
.tl-item[hidden]{display:none !important;}
.tl-item::before{content:""; position:absolute; left:-34px; top:6px; width:9px; height:9px; background:var(--white); border:1px solid var(--ink); transition:background-color .4s var(--ease);}
.tl-item.passed::before{background:var(--ink);}
.tl-item.future::before{border-style:dashed; border-color:var(--slate);}
.tl-when{display:flex; align-items:baseline; gap:14px; margin:0 0 10px; font-family:var(--display);}
.tl-year{font-size:22px; font-weight:800; letter-spacing:-0.02em; color:var(--ink);}
.tl-date{font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label);}
.tl-item .tl-tag{display:flex; align-items:center; gap:10px; margin:0 0 12px; max-width:none; font-family:var(--display); font-size:10px; font-weight:700; line-height:1.4; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label);}
.tl-item .tl-tag::before{content:""; flex:none; width:18px; border-top:1px solid currentColor;}
.tl-item.future .tl-tag::before{border-top-style:dashed;}
.tl-item h3{margin:0 0 10px; font-size:clamp(20px, 1.9vw, 25px);}
.tl-item p{font-size:15.5px; line-height:1.75; color:var(--ink-body); max-width:62ch;}
.tl-item p + p{margin-top:12px;}
.tl-item blockquote{margin:18px 0 0; padding-left:20px; border-left:1px solid var(--ink); font-family:var(--display); font-weight:300; font-size:18px; line-height:1.55; color:var(--ink); max-width:56ch;}
.tl-item blockquote cite{display:block; margin-top:10px; font-style:normal; font-size:10.5px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label);}
.tl-item figure{margin:22px 0 0; max-width:520px;}
.tl-item figure img{width:100%; height:auto; border:1px solid var(--rule-light);}
.tl-item figure figcaption{margin-top:8px; font-size:12.5px; color:var(--ink-label);}
.tl-era{list-style:none; margin:0 0 clamp(26px, 3vw, 34px) -34px; padding:0; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--ink-label);}
/* im.js sets im-js on <html> itself, so if that file never runs, nothing here hides. */
.im-js .tl-item .tl-body{opacity:0; transform:translateY(16px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.im-js .tl-item.in .tl-body{opacity:1; transform:none;}
@media (max-width:880px){
  .tl{grid-template-columns:1fr;}
  .tl-aside{position:static;}
  .tl-now{font-size:clamp(56px, 18vw, 96px);}
}

/* ---------------------------------------------------------------- roadmap (vision) */
.horizon{display:grid; grid-template-columns:repeat(10, minmax(0,1fr)); margin:0 0 clamp(40px, 5vw, 64px); padding:0; list-style:none;}
.horizon li{position:relative; padding:26px 16px 0 0; border-top:1px solid var(--rule-dark);}
.horizon li::before{content:""; position:absolute; top:-1px; left:0; width:1px; height:14px; background:var(--steel);}
.horizon li.mark::before{height:22px; width:9px; top:-5px; left:-4px; background:var(--platinum); border:0;}
.horizon .y{display:block; font-family:var(--display); font-size:13px; font-weight:700; letter-spacing:0.16em; color:var(--graphite);}
.horizon li.mark .y{color:var(--white); font-size:15px;}
.horizon .w{display:block; margin-top:8px; font-size:13px; line-height:1.55; color:var(--steel);}
@media (max-width:1023px){ .horizon{grid-template-columns:repeat(5, minmax(0,1fr)); row-gap:34px;} }
@media (max-width:760px){
  .horizon{grid-template-columns:repeat(2, minmax(0,1fr));}
  .horizon li:not(.mark){display:none;}
}
.status,.cell .status{display:flex; align-items:center; gap:10px; margin:0 0 16px; font-family:var(--display); font-size:10px; font-weight:700; line-height:1.4; letter-spacing:0.22em; text-transform:uppercase; color:var(--steel);}
.status::before{content:""; flex:none; width:18px; border-top:1px dashed currentColor;}
.status.live,.cell .status.live{color:var(--white);}
.status.live::before{border-top-style:solid;}
.s-white .status,.s-white .cell .status{color:var(--ink-label);}
.s-white .status.live,.s-white .cell .status.live{color:var(--ink);}
.grid.road{--cell-min:340px;}
/* four cells that always fill whole rows: 4, then 2, then 1 */
.grid.quad{display:grid; grid-template-columns:repeat(4, minmax(0,1fr));}
@media (max-width:1099px){ .grid.quad{grid-template-columns:repeat(2, minmax(0,1fr));} }
.grid.pair{display:grid; grid-template-columns:repeat(2, minmax(0,1fr));}
@media (max-width:760px){ .grid.pair{grid-template-columns:minmax(0,1fr);} }
@media (max-width:620px){ .grid.quad{grid-template-columns:minmax(0,1fr);} }

/* ---------------------------------------------------------------- long-form biography */
.bio{display:grid; grid-template-columns:minmax(0,0.3fr) minmax(0,1fr); gap:clamp(28px, 5vw, 84px); align-items:start;}
.bio-toc{position:sticky; top:110px; border-top:1px solid var(--ink); padding-top:18px;}
.bio-toc p{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin:0 0 12px;}
.bio-toc ol{list-style:none; margin:0; padding:0;}
.bio-toc li{border-bottom:1px solid var(--rule-light);}
.bio-toc a{display:block; padding:10px 0; font-size:14px; color:var(--ink-body); text-decoration:none; transition:color .3s var(--ease);}
.bio-toc a:hover,.bio-toc a[aria-current="true"]{color:var(--ink);}
.bio-toc a[aria-current="true"]{font-weight:500;}
.bio .prose{max-width:720px;}
.bio .prose h2{scroll-margin-top:100px;}
.bio-figure{margin:40px 0; clear:both;}
.bio-figure img{width:100%; height:auto; border:1px solid var(--rule-light);}
.bio-figure figcaption{margin-top:10px; font-size:12.5px; line-height:1.55; color:var(--ink-label);}
.bio-lead{font-family:var(--display); font-weight:300; font-size:clamp(20px, 2vw, 25px); line-height:1.5; letter-spacing:-0.01em; color:var(--ink); max-width:none;}
.prose .bio-lead{color:var(--ink);}
@media (max-width:980px){ .bio{grid-template-columns:1fr;} .bio-toc{position:static;} }

/* ---------------------------------------------------------------- media kit */
.mk-bio{border-top:1px solid var(--ink); padding:24px 0 30px;}
.mk-bio + .mk-bio{border-top-color:var(--rule-light);}
.mk-bio-head{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px;}
.mk-bio-head h3{margin:0; font-size:17px;}
.mk-bio-head span{font-family:var(--display); font-size:10.5px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label);}
.mk-bio p{font-size:15.5px; line-height:1.8; color:var(--ink-body); max-width:72ch;}
.copy-btn,.print-btn{
  all:unset; cursor:pointer; font-family:var(--display); font-size:10px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--ink); padding:9px 14px;
  border:1px solid var(--ink-label); transition:background-color .3s var(--ease), color .3s var(--ease);
}
.copy-btn:hover,.copy-btn:focus-visible,.print-btn:hover,.print-btn:focus-visible{background:var(--ink); color:var(--white);}
.copy-btn:focus-visible,.print-btn:focus-visible{outline:2px solid var(--ink); outline-offset:2px;}
.copy-btn[hidden],.print-btn[hidden]{display:none !important;}
.downloads{display:flex; flex-wrap:wrap; gap:1px; background:var(--rule-light); border:1px solid var(--rule-light);}
.downloads > figure{flex:1 1 230px; margin:0; background:var(--white); display:flex; flex-direction:column;}
.downloads img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; background:var(--ink);}
.downloads img.fit{object-fit:contain; background:var(--ink);}
.downloads figcaption{padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; flex:1 1 auto;}
.downloads .dl-name{font-family:var(--display); font-size:14px; font-weight:600; color:var(--ink); letter-spacing:-0.01em;}
.downloads .dl-meta{font-size:12.5px; color:var(--ink-label); line-height:1.5;}
.downloads a.dl{margin-top:auto; padding-top:10px; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink); text-decoration:none;}
.downloads a.dl:hover{text-decoration:underline; text-underline-offset:3px;}
.claims{list-style:none; margin:0; padding:0; border-top:1px solid var(--rule-light);}
.claims li{padding:16px 0; border-bottom:1px solid var(--rule-light); font-size:15.5px; line-height:1.65; color:var(--ink);}
.claims li span{display:block; margin-top:4px; font-size:12.5px; color:var(--ink-label);}
.press-links{list-style:none; margin:0; padding:0; border-top:1px solid var(--rule-light);}
.press-links li{display:flex; flex-wrap:wrap; gap:4px 18px; align-items:baseline; padding:15px 0; border-bottom:1px solid var(--rule-light);}
.press-links .o{flex:0 0 190px; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label);}
.press-links a{flex:1 1 280px; color:var(--ink); font-size:15px; line-height:1.55; text-decoration:underline; text-decoration-color:var(--ink-label); text-underline-offset:3px;}
.press-links a:hover{color:var(--slate);}
.press-links .d{font-size:12.5px; color:var(--ink-label);}

/* ---------------------------------------------------------------- routes (contact) */
.routes .cell h3{margin-bottom:12px;}
.routes .cell .tlink{margin-top:20px;}

/* ---------------------------------------------------------------- email list on Ink */
.subscribe-lg{max-width:620px; margin:34px auto 0; display:flex; flex-wrap:wrap; gap:0;}
.subscribe-lg input{flex:1 1 180px; min-width:0; font-size:15px; padding:16px 16px; border-right:1px solid var(--rule-dark);}
.subscribe-lg input + input{border-left:0;}
.subscribe-lg button{flex:0 0 auto; padding:16px 26px; font-size:11px;}
.subscribe-lg .fine{flex:1 1 100%; max-width:none; margin:14px 0 0; text-align:center;}
@media (max-width:620px){
  .subscribe-lg input{flex:1 1 100%; border-right:1px solid var(--rule-dark);}
  .subscribe-lg input + input{border-left:1px solid var(--rule-dark); border-top:0;}
  .subscribe-lg button{flex:1 1 100%;}
}
.cta-note{margin-top:18px;}

/* ---------------------------------------------------------------- blog */
/* Article pages (written by the blog dashboard): the author note under the text. */
.post-author{display:grid; grid-template-columns:96px minmax(0,1fr); gap:22px; align-items:start; margin:56px 0 0; padding:26px 0 0; border-top:1px solid var(--ink);}
.post-author img{width:96px; height:120px; object-fit:cover; object-position:50% 18%; border:1px solid var(--rule-light);}
.prose .post-author p{font-size:15px; line-height:1.7; margin:0 0 10px;}
.prose .post-author .post-author-name{font-family:var(--display); font-size:16px; font-weight:700; letter-spacing:-0.005em; color:var(--ink); margin:0 0 6px;}
.prose .post-author .post-author-links{display:flex; flex-wrap:wrap; gap:6px 20px; margin:0;}
@media (max-width:520px){
  .post-author{grid-template-columns:72px minmax(0,1fr); gap:16px;}
  .post-author img{width:72px; height:90px;}
}
.posts .cell h3 a{color:inherit; text-decoration:none;}
.posts .cell h3 a:hover{text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;}
.posts .cell .tlink{margin-top:22px;}
.posts-empty{border-top:1px solid var(--rule-light); border-bottom:1px solid var(--rule-light); padding:34px 0; max-width:none;}
.posts-empty p{max-width:60ch;}
.elsewhere{list-style:none; margin:0; padding:0; border-top:1px solid var(--rule-dark);}
.elsewhere li{border-bottom:1px solid var(--rule-dark);}
.elsewhere a{display:flex; flex-wrap:wrap; gap:6px 24px; align-items:baseline; padding:22px 0; text-decoration:none; color:var(--white);}
.elsewhere .t{flex:1 1 320px; font-family:var(--display); font-size:clamp(18px, 1.8vw, 22px); font-weight:600; letter-spacing:-0.015em; line-height:1.3;}
.elsewhere .w{flex:0 0 auto; max-width:100%; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--graphite);}
.elsewhere a:hover .t{color:var(--platinum);}
.s-white .elsewhere{border-color:var(--rule-light);}
.s-white .elsewhere li{border-color:var(--rule-light);}
.s-white .elsewhere a{color:var(--ink);}
.s-white .elsewhere .w{color:var(--ink-label);}
.s-white .elsewhere a:hover .t{color:var(--slate);}
/* A long email address may break anywhere rather than run past a narrow screen. */
a[href^="mailto:"]{overflow-wrap:anywhere;}
/* The Companies page: the newest releases under the newsroom's heading, kept current by im.js. */
.nr-latest{max-width:820px; margin:34px auto 38px; text-align:left;}

/* An article page */
.article-hero-img{margin:0 0 36px;}
.article-hero-img img{width:100%; height:auto; border:1px solid var(--rule-light);}
.article-hero-img figcaption{margin-top:9px; font-size:12.5px; color:var(--ink-label);}

/* ---------------------------------------------------------------- utility */
.center{text-align:center;}
.mt-0{margin-top:0;}
.eyebrow-center{justify-content:center;}
.kicker-list{display:flex; flex-wrap:wrap; gap:8px 26px; list-style:none; margin:26px 0 0; padding:0; font-family:var(--display); font-size:10.5px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--graphite);}
.s-white .kicker-list{color:var(--ink-label);}
.split-head{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px 40px; margin-bottom:clamp(36px, 4.5vw, 56px);}
.split-head .section-head{margin-bottom:0;}

/* ---------------------------------------------------------------- the signature
   A two-layer wipe: the outer span slides in from the left while the inner one
   slides back, so the ink appears left to right, in place. Transform only. The
   resting state is the whole signature: without JavaScript, under reduced
   motion, and in print, nothing is hidden. */
.sig-wipe{display:inline-block; overflow:hidden; vertical-align:bottom; line-height:0; max-width:100%;}
.sig-wipe-in{display:block;}
.sig-wipe img{display:block; width:100%; height:auto;}
@keyframes im-wipe-out{from{transform:translateX(-101%);}to{transform:none;}}
@keyframes im-wipe-in{from{transform:translateX(101%);}to{transform:none;}}
/* On load: the home hero, Executive Thoughts, and the utility pages. */
.hero-sig .sig-wipe,.et-sig .sig-wipe,.utility-sig .sig-wipe{animation:im-wipe-out 1.5s var(--ease) 1s both;}
.hero-sig .sig-wipe-in,.et-sig .sig-wipe-in,.utility-sig .sig-wipe-in{animation:im-wipe-in 1.5s var(--ease) 1s both;}
/* On arrival: a sign-off writes itself in when it scrolls into view (site.js reveals .rv). */
.js .sign-off.rv .sig-wipe{transform:translateX(-101%); transition:transform 1.5s var(--ease) .25s;}
.js .sign-off.rv .sig-wipe-in{transform:translateX(101%); transition:transform 1.5s var(--ease) .25s;}
.js .sign-off.rv.in .sig-wipe,.js .sign-off.rv.in .sig-wipe-in{transform:none;}

/* The home hero: signed across the portrait, where the photograph fades to Ink. */
.hero-sig{position:absolute; z-index:2; left:6%; bottom:8%; width:clamp(150px, 15vw, 230px); pointer-events:none;}
.hero-sig .sig-wipe{width:100%;}
@media (max-width:1024px){ .hero-sig{left:auto; right:6%; bottom:auto; top:32%; width:clamp(96px, 22vw, 150px);} }
.et-sig{margin:30px 0 0; width:clamp(78px, 8vw, 104px); max-width:none;}
.utility-sig{margin:6px 0 30px; width:clamp(72px, 7vw, 92px); max-width:none;}

/* A signed close */
.sign-off{margin:clamp(40px, 5vw, 56px) 0 0; display:flex; align-items:flex-end; gap:22px; flex-wrap:wrap;}
.sign-off .sig-wipe{width:clamp(110px, 12vw, 150px); flex:none;}
.sign-off figcaption{padding-bottom:10px; border-bottom:1px solid var(--rule-light);}
.sign-off .so-name{display:block; font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:0.28em; text-transform:uppercase; color:var(--ink);}
.sign-off .so-role{display:block; margin-top:7px; font-size:13px; line-height:1.5; color:var(--ink-label);}
.s-ink .sign-off figcaption{border-color:var(--rule-dark);}
.s-ink .sign-off .so-name{color:var(--white);}
.s-ink .sign-off .so-role{color:var(--graphite);}
.sign-off.so-sm .sig-wipe{width:clamp(84px, 9vw, 112px);}
.pullquote + .sign-off{margin-top:30px;}

/* ---------------------------------------------------------------- tabs
   Without JavaScript each panel shows in order under its own heading; im.js
   builds the tab list and shows one panel at a time. */
.tab-list{display:flex; flex-wrap:wrap; gap:0 34px; margin:0 0 clamp(30px, 3.5vw, 44px); border-bottom:1px solid var(--rule-light);}
.tab-list[hidden]{display:none;}
.tab-btn{
  all:unset; cursor:pointer; position:relative; padding:16px 0 15px;
  font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-label);
  transition:color .3s var(--ease);
}
.tab-btn::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);}
.tab-btn:hover{color:var(--ink);}
.tab-btn[aria-selected="true"]{color:var(--ink);}
.tab-btn[aria-selected="true"]::after{transform:none;}
.tab-btn:focus-visible{outline:2px solid var(--ink); outline-offset:3px;}
.tab-panel + .tab-panel{margin-top:clamp(48px, 6vw, 72px); padding-top:clamp(36px, 4vw, 48px); border-top:1px solid var(--rule-light);}
.tab-title{font-size:clamp(20px, 2vw, 26px); margin:0 0 22px;}
.tabs.is-tabs .tab-panel + .tab-panel{margin-top:0; padding-top:0; border-top:0;}
.tabs.is-tabs .tab-title{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}
.tabs.is-tabs .tab-panel[hidden]{display:none;}
.tabs.is-tabs .tab-panel.enter{animation:im-panel-in .55s var(--ease) both;}
@keyframes im-panel-in{from{opacity:0; transform:translate3d(0,10px,0);}to{opacity:1; transform:none;}}
.method{margin-top:clamp(72px, 9vw, 120px); padding-top:clamp(48px, 6vw, 72px); border-top:1px solid var(--rule-light);}

/* ---------------------------------------------------------------- calculators (the Power of 3, the Skyline Strategy) */
.p3,.sky{display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:clamp(28px, 5vw, 80px); align-items:start;}
.sky{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);}
.p3 > .fine,.sky > .fine{grid-column:1 / -1; max-width:80ch; margin:0;}
.p3-rule{font-family:var(--display); font-weight:300; font-size:clamp(24px, 2.6vw, 34px); line-height:1.25; letter-spacing:-0.02em; color:var(--ink); margin:0 0 20px; max-width:22ch;}
.sky > .p3-rule{max-width:26ch;}
.p3-copy p:not(.p3-rule){font-size:15.5px; line-height:1.75;}
.p3-calc,.sky-calc{border-top:1px solid var(--ink); padding-top:20px; min-width:0;}
.p3-calc[hidden],.sky-calc[hidden],.pledge-calc[hidden]{display:none;}
.calc-head{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:10px 20px;}
.calc-label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label);}
.calc-days{font-family:var(--display); font-size:13px; font-weight:700; letter-spacing:0.08em; color:var(--ink); font-variant-numeric:tabular-nums;}
.calc-range{
  -webkit-appearance:none; appearance:none; display:block; width:100%; height:30px; margin:14px 0 8px; padding:0;
  background:transparent; cursor:pointer; --p:25%;
}
.calc-range:focus{outline:none;}
.calc-range:focus-visible{outline:2px solid var(--ink); outline-offset:4px;}
.calc-range::-webkit-slider-runnable-track{height:2px; background:linear-gradient(to right, var(--ink) var(--p), var(--rule-light) var(--p));}
.calc-range::-moz-range-track{height:2px; background:var(--rule-light);}
.calc-range::-moz-range-progress{height:2px; background:var(--ink);}
.calc-range::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:18px; height:18px; margin-top:-8px; background:var(--ink); border:3px solid var(--white); box-shadow:0 0 0 1px var(--ink); border-radius:0;}
.calc-range::-moz-range-thumb{width:12px; height:12px; background:var(--ink); border:3px solid var(--white); box-shadow:0 0 0 1px var(--ink); border-radius:0;}
.p3-presets,.pledge-presets,.unit-toggle,.route-chips{display:flex; flex-wrap:wrap; gap:8px;}
.p3-presets{margin:6px 0 26px;}
.p3-presets button,.pledge-presets button,.unit-toggle button,.route-chips button,.talk-pick,.et-clear,.share-bar button{
  all:unset; cursor:pointer; box-sizing:border-box;
  font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--ink); padding:10px 14px; border:1px solid var(--ink-label);
  transition:background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.p3-presets button:hover,.pledge-presets button:hover,.unit-toggle button:hover,.route-chips button:hover,.talk-pick:hover,.et-clear:hover,.share-bar button:hover{border-color:var(--ink);}
.p3-presets [aria-pressed="true"],.pledge-presets [aria-pressed="true"],.unit-toggle [aria-pressed="true"],.route-chips [aria-pressed="true"],.talk-pick[aria-pressed="true"]{background:var(--ink); color:var(--white); border-color:var(--ink);}
.p3-presets button:focus-visible,.pledge-presets button:focus-visible,.unit-toggle button:focus-visible,.route-chips button:focus-visible,.talk-pick:focus-visible,.et-clear:focus-visible,.share-bar button:focus-visible{outline:2px solid var(--ink); outline-offset:2px;}
.p3-result{margin:0 0 18px; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 16px;}
.p3-n{font-family:var(--display); font-size:clamp(56px, 7.4vw, 104px); font-weight:800; letter-spacing:-0.045em; line-height:0.9; color:var(--ink); font-variant-numeric:tabular-nums;}
.p3-u{font-size:15px; line-height:1.5; color:var(--ink-body); max-width:24ch;}
.p3-track{position:relative; height:44px; border-bottom:1px solid var(--rule-light); margin:0 0 6px;}
.p3-fill{position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--ink); transform-origin:left; transform:scaleX(var(--f, 0.2466)); transition:transform .5s var(--ease);}
.p3-track i{position:absolute; bottom:8px; left:calc(var(--at) * 100%); transform:translateX(-100%); font-style:normal; font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.14em; color:var(--ink-label); padding-right:6px; border-right:1px solid var(--ink-label); line-height:1; height:24px; display:flex; align-items:flex-start;}
.sky-result{display:flex; flex-wrap:wrap; gap:6px 26px; margin:4px 0 18px;}
.sky-result span{font-size:15px; color:var(--ink-body);}
.sky-result b{display:inline-block; min-width:1.2ch; margin-right:8px; font-family:var(--display); font-size:clamp(34px, 4vw, 52px); font-weight:800; letter-spacing:-0.04em; color:var(--ink); line-height:1; vertical-align:-0.12em; font-variant-numeric:tabular-nums;}
.sky-city{display:flex; align-items:flex-end; gap:3px; height:150px; border-bottom:1px solid var(--ink); overflow:hidden;}
.sky-city span{flex:1 1 0; min-width:0; height:calc(var(--h) * 100%); background:var(--ink); transform-origin:bottom; animation:im-rise .7s var(--ease) calc(var(--i) * 28ms) both;}
.sky-city span.per{background:transparent; border:1px solid var(--ink); border-bottom:0;}
@keyframes im-rise{from{transform:scaleY(0);}to{transform:none;}}
.sky-legend{display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin:12px 0 0; font-size:12.5px; color:var(--ink-label);}
.sky-legend .k{display:inline-block; width:12px; height:12px; background:var(--ink);}
.sky-legend .k.per{background:transparent; border:1px solid var(--ink); margin-left:14px;}
@media (max-width:880px){ .p3,.sky{grid-template-columns:1fr;} }

/* ---------------------------------------------------------------- the Hierarchy of Personal Branding
   Six tiers, drawn base to top as a staircase of reach. */
.hier-ask{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin:0 0 16px;}
.hier-ask[hidden],.hier-next[hidden]{display:none;}
.hier-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column-reverse; border-bottom:1px solid var(--ink);}
.hier-tier{position:relative; border-top:1px solid var(--rule-light); display:grid; grid-template-columns:62px minmax(0,1fr); column-gap:18px; row-gap:4px; padding:14px 0;}
.hier-tier.has-btn{display:block; padding:0;}
.hier-tier::before{content:""; position:absolute; left:80px; right:0; top:-1px; height:1px; background:var(--ink); transform-origin:left; transform:scaleX(calc(var(--lvl) / 6));}
.hier-btn{all:unset; box-sizing:border-box; display:grid; grid-template-columns:62px minmax(0,1fr); column-gap:18px; row-gap:4px; padding:14px 0; width:100%; cursor:pointer;}
.hier-btn > span{display:block;}
.hier-btn:focus-visible{outline:2px solid var(--ink); outline-offset:2px;}
.hier-n{grid-row:1 / span 2; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label); padding-top:4px;}
.hier-name{font-family:var(--display); font-size:clamp(16px, 1.5vw, 19px); font-weight:600; letter-spacing:-0.01em; color:var(--ink);}
.hier-desc{font-size:14px; line-height:1.6; color:var(--ink-body);}
.hier-reach{font-weight:500; color:var(--ink);}
.hier.is-picking .hier-tier{transition:opacity .35s var(--ease);}
.hier.has-pick .hier-tier{opacity:0.42;}
.hier.has-pick .hier-tier.here,.hier.has-pick .hier-tier.next{opacity:1;}
.hier-tier.here .hier-n::after{content:"You"; display:block; margin-top:6px; color:var(--ink);}
.hier-tier.next .hier-n::after{content:"Next"; display:block; margin-top:6px; color:var(--ink-label);}
.hier-next{margin:18px 0 0; font-size:15px; line-height:1.65; color:var(--ink-body); max-width:62ch;}
.hier-next strong{color:var(--ink);}
.hier > .fine{margin-top:18px;}
.s-ink .hier-ask,.s-ink .hier-n,.s-ink .hier-tier.next .hier-n::after{color:var(--graphite);}
.s-ink .hier-list{border-color:var(--platinum);}
.s-ink .hier-tier{border-color:var(--rule-dark);}
.s-ink .hier-tier::before{background:var(--platinum);}
.s-ink .hier-name,.s-ink .hier-reach,.s-ink .hier-tier.here .hier-n::after,.s-ink .hier-next strong{color:var(--white);}
.s-ink .hier-desc,.s-ink .hier-next{color:var(--steel);}
.s-ink .hier-btn:focus-visible{outline-color:var(--platinum);}
.h-sub{font-size:clamp(22px, 2.2vw, 30px); margin:0 0 18px;}

/* ---------------------------------------------------------------- the 4 Laws: each law builds on the ones before it */
.laws-line{height:2px; margin:0 0 -2px; position:relative; z-index:2; background:var(--platinum); transform-origin:left; transform:scaleX(0); transition:transform .6s var(--ease);}
.laws .cell{transition:opacity .4s var(--ease), transform .45s var(--ease), background-color .45s var(--ease);}
.laws.is-building .law.unlit{opacity:0.36;}
.laws-note{margin:18px 0 0; font-size:14.5px; line-height:1.65; color:var(--steel); min-height:1.65em;}
.laws-note[hidden]{display:none;}

/* ---------------------------------------------------------------- contents of the book */
.cx{list-style:none; margin:0; padding:0; border-top:1px solid var(--ink);}
.cx-row{border-bottom:1px solid var(--rule-light);}
.cx summary,.cx-head{display:grid; grid-template-columns:44px minmax(0,1fr) auto; column-gap:16px; row-gap:10px; align-items:baseline; padding:16px 34px 16px 0; position:relative; list-style:none;}
.cx summary{cursor:pointer;}
.cx summary::-webkit-details-marker{display:none;}
.cx summary::after{content:""; position:absolute; right:6px; top:22px; width:8px; height:8px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); transform:rotate(45deg); transition:transform .35s var(--ease);}
.cx details[open] > summary::after{transform:translateY(4px) rotate(-135deg);}
.cx summary:hover .cx-t{color:var(--slate);}
.cx summary:focus-visible{outline:2px solid var(--ink); outline-offset:2px;}
.cx-n{font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:0.18em; color:var(--ink-label);}
.cx-t{font-family:var(--display); font-size:clamp(16px, 1.5vw, 19px); font-weight:600; letter-spacing:-0.015em; color:var(--ink); transition:color .3s var(--ease);}
.cx-row.essay .cx-t{font-weight:300; font-style:italic;}
.cx-c{font-size:12.5px; color:var(--ink-label); white-space:nowrap;}
.cx-bar{grid-column:2 / 4; position:relative; height:3px; background:var(--rule-light); overflow:hidden;}
.cx-bar span{position:absolute; inset:0; background:var(--ink); transform-origin:left; transform:scaleX(var(--w));}
.cx-bar.essay span{background:repeating-linear-gradient(to right, var(--ink) 0 6px, transparent 6px 10px);}
.js .cx.rv .cx-bar span{transform:scaleX(0); transition:transform 1.1s var(--ease) calc(var(--i, 0) * 70ms + .15s);}
.js .cx.rv.in .cx-bar span{transform:scaleX(var(--w));}
.cx-body{padding:4px 0 24px 60px;}
.cx-body > p{font-size:14.5px; line-height:1.7; color:var(--ink-body); margin:0 0 12px; max-width:60ch;}
.cx-subs{list-style:none; margin:0 0 12px; padding:0; border-top:1px solid var(--rule-light);}
.cx-subs li{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px; padding:10px 0; border-bottom:1px solid var(--rule-light); font-size:14.5px; line-height:1.55; color:var(--ink);}
.cx-sn{display:inline-block; min-width:38px; font-family:var(--display); font-size:11px; font-weight:700; letter-spacing:0.12em; color:var(--ink-label);}
.cx-tool{margin-left:auto; font-size:13px;}
.cx-foot{font-size:12.5px !important; color:var(--ink-label) !important;}
.cx details[open] .cx-body{animation:im-panel-in .45s var(--ease) both;}
@media (max-width:620px){ .cx-body{padding-left:0;} .cx-tool{margin-left:0; flex-basis:100%;} }

/* ---------------------------------------------------------------- speaking */
.talk{display:flex; flex-direction:column;}
.talk .talk-pick{margin-top:auto; align-self:flex-start;}
.talk > p{margin-bottom:26px;}
.talk-pick[hidden]{display:none !important;}
.talk.picked{background:var(--panel-deep);}
/* A picked subject shows a check, drawn in CSS so the button's name (and what a screen reader hears, "pressed") stays the same. */
.talk-pick[aria-pressed="true"]::before{content:""; display:inline-block; width:9px; height:5px; margin:0 11px 3px 0; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); vertical-align:middle;}
.s-white .talk.picked{background:#F6F4EF;}
.talk-hint,.talk-tray{font-size:14.5px; color:var(--ink-body);}
.talk-hint[hidden],.talk-tray[hidden],.topics-picked[hidden]{display:none;}
.talk-tray{margin:22px 0 0; padding:14px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--rule-light);}
.topics-picked{margin:0 0 16px; padding:12px 14px; border:1px solid var(--rule-light); font-size:14px; line-height:1.6; color:var(--ink-body); text-align:left;}
.topics-picked strong{color:var(--ink);}
.form-flag{margin:-4px 0 16px; padding:10px 14px; border-left:2px solid var(--ink); background:#F6F4EF; font-size:14px; line-height:1.6; color:var(--ink); text-align:left; max-width:none;}
.form-flag[hidden],.field[hidden]{display:none;}
.video-poster{position:relative; display:block; border:1px solid var(--rule-dark); overflow:hidden; background:var(--ink);}
.video-poster img{display:block; width:100%; height:auto; transition:transform .9s var(--ease), opacity .5s var(--ease); opacity:0.86;}
.video-poster:hover img,.video-poster:focus-visible img{transform:scale(1.03); opacity:1;}
.video-poster:focus-visible{outline:2px solid var(--platinum); outline-offset:3px;}
.vp-play{position:absolute; left:50%; top:50%; width:64px; height:64px; margin:-32px 0 0 -32px; display:flex; align-items:center; justify-content:center; color:var(--ink); background:var(--white); transition:transform .45s var(--ease);}
.video-poster:hover .vp-play{transform:scale(1.08);}
.vp-label{position:absolute; left:0; right:0; bottom:0; padding:16px 18px; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--white); background:linear-gradient(to top, rgba(10,10,10,0.9), rgba(10,10,10,0));}

/* ---------------------------------------------------------------- the composite (MCG): five weights drawn to scale */
.composite{display:flex; margin:26px 0 0; border:1px solid var(--ink); background:var(--ink); overflow:hidden;}
.composite .seg{flex:var(--w) 1 0; min-width:0; position:relative; padding:14px 12px 12px; color:var(--white); border-left:1px solid var(--rule-dark); transform-origin:left; transition:opacity .35s var(--ease);}
.composite .seg:first-child{border-left:0;}
.composite b,.s-white .composite b{display:block; font-family:var(--display); font-size:clamp(18px, 2vw, 26px); font-weight:800; letter-spacing:-0.03em; line-height:1; color:var(--white);}
.composite i{display:block; margin-top:8px; font-style:normal; font-family:var(--display); font-size:9.5px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--steel); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.js .composite.rv .seg{opacity:0; transform:scaleX(0.6); transition:opacity .6s var(--ease) calc(var(--i) * 90ms + .2s), transform .8s var(--ease) calc(var(--i) * 90ms + .2s);}
.js .composite.rv.in .seg{opacity:1; transform:none;}
.composite.has-focus .seg{opacity:0.4;}
.composite.has-focus .seg.on{opacity:1;}
@media (max-width:760px){ .composite i{display:none;} }

/* ---------------------------------------------------------------- the first two lots (MP) */
.lots{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px, 5vw, 80px); align-items:end; margin-top:clamp(56px, 7vw, 88px); padding-top:clamp(40px, 5vw, 56px); border-top:1px solid var(--rule-light);}
.lots-fig{display:flex; align-items:flex-end; gap:clamp(18px, 3vw, 40px);}
.lot{margin:0; width:clamp(120px, 17vw, 230px);}
.lot-area{display:block; width:calc(var(--s) * 100%); aspect-ratio:1 / 1; border:1px solid var(--ink); background:repeating-linear-gradient(45deg, transparent 0 9px, var(--rule-light) 9px 10px); transform-origin:bottom left;}
.js .lots.rv .lot-area{transform:scale(0.2); opacity:0; transition:transform 1.1s var(--ease) .15s, opacity .6s var(--ease) .15s;}
.js .lots.rv .lot + .lot .lot-area{transition-delay:.35s;}
.js .lots.rv.in .lot-area{transform:none; opacity:1;}
.lot figcaption{margin-top:12px; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-label);}
.unit-toggle{margin:0 0 18px;}
.unit-toggle[hidden]{display:none;}
@media (max-width:880px){ .lots{grid-template-columns:1fr;} }

/* ---------------------------------------------------------------- the 1:1 Pledge (Mashman Global), illustrated */
.pledge{margin-top:clamp(48px, 6vw, 72px); padding-top:24px; border-top:1px solid var(--ink); max-width:880px;}
.pledge-calc .calc-head{align-items:center;}
.pledge-input{
  display:block; width:100%; max-width:360px; margin:18px 0 0; padding:10px 0; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:transparent;
  font-family:var(--display); font-size:clamp(28px, 3.4vw, 42px); font-weight:700; letter-spacing:-0.03em; color:var(--ink); font-variant-numeric:tabular-nums;
}
.pledge-input:focus{outline:none; border-bottom-width:2px;}
.pledge-input:focus-visible{outline:2px solid var(--ink); outline-offset:4px;}
.pledge-scale{display:grid; grid-template-columns:minmax(0,1fr) clamp(40px, 10vw, 120px) minmax(0,1fr); align-items:end; height:170px; margin:30px 0 0; border-bottom:1px solid var(--ink);}
.pan{display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%;}
.pan .w{display:block; width:min(140px, 70%); height:calc(100% - 30px); background:var(--ink); transform-origin:bottom; transform:scaleY(var(--h, 0.4)); transition:transform .8s var(--ease);}
.pan b{display:block; padding:8px 0; font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label);}
.beam{align-self:center; height:1px; background:var(--ink); position:relative; top:12px;}
.beam::after{content:"1:1"; position:absolute; left:50%; top:-26px; transform:translateX(-50%); font-family:var(--display); font-size:12px; font-weight:800; letter-spacing:0.1em; color:var(--ink);}
.pledge-out{display:flex; flex-wrap:wrap; gap:10px 28px; margin:18px 0 12px;}
.pledge-out span{font-size:14.5px; line-height:1.5; color:var(--ink-body);}
.pledge-out b{display:block; font-family:var(--display); font-size:22px; font-weight:800; letter-spacing:-0.02em; color:var(--ink); font-variant-numeric:tabular-nums;}

/* ---------------------------------------------------------------- the timeline: jump to a year, and the count */
.tl-years{margin-top:30px; border-top:1px solid var(--rule-light); padding-top:16px;}
.tl-years ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 16px;}
.tl-years a{display:inline-block; padding:4px 0; font-family:var(--display); font-size:13px; font-weight:700; letter-spacing:0.04em; color:var(--ink-label); text-decoration:none; border-bottom:1px solid transparent; font-variant-numeric:tabular-nums; transition:color .3s var(--ease), border-color .3s var(--ease);}
.tl-years a.ahead{color:var(--slate);}
.tl-years a:hover,.tl-years a[aria-current="true"]{color:var(--ink); border-color:var(--ink);}
.tl-count{margin-top:16px; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label);}
.tl-item{scroll-margin-top:110px;}
@media (max-width:880px){ .tl-years{display:none;} }

/* ---------------------------------------------------------------- the horizon (vision): today, and the roadmap by year */
.hz-wrap{position:relative; padding-top:40px;}
.hz-today{position:absolute; top:0; left:calc(var(--at) * 100%); display:flex; flex-direction:column; align-items:center; transform:translateX(-50%); pointer-events:none;}
.hz-today span{font-family:var(--display); font-size:9.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--platinum); white-space:nowrap;}
.hz-today::after{content:""; width:1px; height:26px; margin-top:4px; background:var(--white);}
@media (max-width:1023px){ .hz-wrap{padding-top:0;} }
.hz-now{margin:-18px 0 clamp(30px, 4vw, 44px); font-size:14px; color:var(--steel);}
.hz-now[hidden]{display:none;}
@media (max-width:1023px){ .hz-today{display:none;} }
.s-ink .filter-bar{border-bottom-color:var(--rule-dark);}
.s-ink .filter-bar button{color:var(--graphite);}
.s-ink .filter-bar button:hover{color:var(--white);}
.s-ink .filter-bar button[aria-pressed="true"]{color:var(--white); border-color:var(--white);}
.s-ink .filter-bar button:focus-visible{outline-color:var(--platinum);}
.s-ink .filter-empty{color:var(--steel);}

/* ---------------------------------------------------------------- contact: the route finder and the time in Little Rock */
.local-time{margin:24px 0 0; font-family:var(--display); font-size:10.5px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--graphite);}
.local-time[hidden]{display:none;}
.local-time time{color:var(--white); font-variant-numeric:tabular-nums;}
.route-finder{margin:0 0 clamp(28px, 3.5vw, 44px);}
.route-finder[hidden]{display:none;}
.route-ask{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin:0 0 14px;}
.routes .cell{transition:opacity .4s var(--ease), transform .45s var(--ease), background-color .45s var(--ease);}
.routes.has-pick .cell{opacity:0.36;}
.routes.has-pick .cell.on{opacity:1; background:#F6F4EF;}

/* ---------------------------------------------------------------- the Mashman Minute */
.mm-hero .subscribe-lg{margin:34px 0 0;}
.mm-hero .subscribe-lg .fine{text-align:left;}
.minute-done{padding:22px 0 4px; max-width:620px; text-align:left; outline:none;}
.subscribe-lg + .minute-done,.cta .minute-done{margin:34px auto 0;}
.minute-done .md-title{font-family:var(--display); font-size:clamp(20px, 2vw, 25px); font-weight:700; letter-spacing:-0.015em; color:var(--white); margin:0 0 10px;}
.minute-done p{font-size:15px; line-height:1.7; color:var(--steel); margin:0; max-width:56ch;}
.minute-done .sig-wipe{width:78px; margin:0 0 16px; animation:im-wipe-out 1.3s var(--ease) .1s both;}
.minute-done .sig-wipe-in{animation:im-wipe-in 1.3s var(--ease) .1s both;}
.cta .minute-done{text-align:center;}
.cta .minute-done p{margin:0 auto;}
.s-white .minute-done .md-title,.cta.s-white .minute-done .md-title{color:var(--ink);}
.s-white .minute-done p{color:var(--ink-body);}
.site-footer .minute-done{padding:10px 0 0;}
.site-footer .minute-done .md-title{font-size:15px;}
.site-footer .minute-done p{font-size:13px; color:var(--graphite);}
.site-footer .minute-done .sig-wipe{display:none;}
.recent{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px, 5vw, 72px);}
.recent-label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin:0 0 14px;}
.recent-list:empty{display:none;}
.recent-all{margin-top:18px;}
@media (max-width:880px){ .recent{grid-template-columns:1fr;} }

/* ---------------------------------------------------------------- Executive Thoughts */
.et-search{flex:0 1 340px;}
.et-search[hidden]{display:none;}
.et-search input{
  display:block; width:100%; box-sizing:border-box; padding:14px 0; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:transparent;
  font-family:var(--body); font-size:15px; color:var(--ink);
}
.et-search input::placeholder{color:var(--ink-label);}
.et-search input:focus{outline:none; border-bottom-width:2px; padding-bottom:13px;}
.et-search input:focus-visible{outline:2px solid var(--ink); outline-offset:4px;}
/* The browser's own clear button, drawn in ink rather than its default blue. */
.et-search input::-webkit-search-cancel-button{-webkit-appearance:none; appearance:none; width:13px; height:13px; margin-left:10px; cursor:pointer; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M1.5 1.5l10 10M11.5 1.5l-10 10' stroke='%230A0A0A' stroke-width='1.5'/%3E%3C/svg%3E") center / 13px 13px no-repeat;}
.posts .cell.et-miss{display:none !important;}
.et-none{margin:24px 0 0;}
.et-none[hidden]{display:none;}
.et-clear{margin-left:10px;}
/* An essay first published elsewhere says so, with a link to the original (its canonical). */
.prose p.first-published{max-width:none; margin:32px 0 0; padding:14px 0 0; border-top:1px solid var(--rule-light); font-size:14px; line-height:1.6; color:var(--ink-label);}
.prose p.first-published a{color:var(--ink);}
.posts .cell p.post-src{margin-top:14px; font-family:var(--display); font-size:10px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-label);}
/* An essay: the share row and the signed close (written by the dashboard) */
.share-bar{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:40px 0 0; padding:18px 0; border-top:1px solid var(--rule-light); border-bottom:1px solid var(--rule-light);}
.share-label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin-right:10px;}
.prose .share-bar a{font-family:var(--display); font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink); text-decoration:none; padding:10px 14px; border:1px solid var(--ink-label); transition:background-color .3s var(--ease), color .3s var(--ease);}
.prose .share-bar a:hover,.prose .share-bar a:focus-visible{background:var(--ink); color:var(--white);}
.share-bar button[hidden]{display:none;}
.post-more{margin:clamp(48px, 6vw, 72px) 0 0;}
.post-more[hidden]{display:none;}
.post-more-label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink-label); margin:0 0 14px;}
.prose .post-more .elsewhere{padding-left:0;}
.prose .post-more .elsewhere li{margin:0;}
.prose .post-more .elsewhere a{color:var(--ink); text-decoration:none;}

/* ---------------------------------------------------------------- not found: suggestions from the site index */
.nf-suggest{margin-top:clamp(40px, 5vw, 56px); max-width:760px;}
.nf-suggest[hidden]{display:none;}
.nf-label{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--platinum); margin:0 0 12px;}

/* Ink grounds for the shared controls */
.s-ink .p3-rule,.s-ink .p3-n,.s-ink .calc-days,.s-ink .sky-result b{color:var(--white);}
.s-ink .p3-u,.s-ink .sky-result span{color:var(--steel);}
.s-ink .calc-label,.s-ink .p3-track i{color:var(--graphite); border-color:var(--graphite);}
.s-ink .p3-calc,.s-ink .sky-calc{border-color:var(--platinum);}
.s-ink .p3-presets button,.s-ink .route-chips button,.s-ink .talk-pick{color:var(--white); border-color:var(--slate);}
.s-ink .p3-presets [aria-pressed="true"],.s-ink .talk-pick[aria-pressed="true"]{background:var(--white); color:var(--ink); border-color:var(--white);}
.s-ink .talk-hint,.s-ink .talk-tray{color:var(--steel);}

/* ---------------------------------------------------------------- reduced motion and print */
@media (prefers-reduced-motion: reduce){
  .hero-portrait,.im-js .tl-item .tl-body{opacity:1 !important; transform:none !important; transition:none !important; animation:none !important;}
  .sig-wipe,.sig-wipe-in,.js .sign-off.rv .sig-wipe,.js .sign-off.rv .sig-wipe-in,.sky-city span,.tab-panel.enter,.cx details[open] .cx-body,
  .js .cx.rv .cx-bar span,.js .composite.rv .seg,.js .lots.rv .lot-area,.p3-fill,.pan .w,.laws-line{animation:none !important; transition:none !important;}
  .sig-wipe,.sig-wipe-in,.js .sign-off.rv .sig-wipe,.js .sign-off.rv .sig-wipe-in,.js .composite.rv .seg,.js .lots.rv .lot-area{transform:none !important; opacity:1 !important;}
  .js .cx.rv .cx-bar span{transform:scaleX(var(--w)) !important;}
  .video-poster img{transition:none !important; transform:none !important;}
  .hero-portrait img{transform:none !important;}
  .js .org.rv .org-stem,.js .org.rv .org-branches > li::before{transform:none !important; transition:none !important;}
  .tl-rail{display:none;}
}
@media print{
  .fp,.hero-portrait,.tl-rail,.copy-btn,.subscribe,.subscribe-lg{display:none !important;}
  .hero-sig,.et-sig,.utility-sig,.tab-list,.p3-calc,.sky-calc,.pledge-calc,.route-finder,.unit-toggle,.talk-pick,.talk-tray,.et-search,.share-bar,.post-more,.nf-suggest,.local-time,.laws-line,.hz-today,.vp-play,.vp-label,.minute-done{display:none !important;}
  .sig-wipe,.sig-wipe-in{transform:none !important; animation:none !important;}
  .tabs.is-tabs .tab-panel[hidden]{display:block !important;}
  .tabs.is-tabs .tab-title{position:static; width:auto; height:auto; margin:0 0 16px; clip:auto; white-space:normal;}
  .js .cx.rv .cx-bar span{transform:scaleX(var(--w)) !important;}
  .js .composite.rv .seg,.js .lots.rv .lot-area{transform:none !important; opacity:1 !important;}
  .cx details > .cx-body{display:block;}
  .hero-person{min-height:0; padding-top:40px;}
  .hero-copy{max-width:none;}
  .hero-portrait,.im-js .tl-item .tl-body,.org-stem,.org-branches > li::before{opacity:1 !important; transform:none !important; animation:none !important;}
  .tl-aside{position:static;}
  .bio-toc{display:none;}
  .bio{grid-template-columns:1fr;}
}

/* ---------------------------------------------------------------- where to buy
   Retailers in the canon's order, each with the format it carries (a bare list
   would imply every retailer carries every format). */
.buy{list-style:none; margin:34px 0 0; padding:0; display:flex; flex-wrap:wrap; border-top:1px solid var(--rule-light);}
.buy li{flex:1 1 150px; border-bottom:1px solid var(--rule-light);}
.buy a{display:block; padding:14px 16px 14px 0; text-decoration:none;}
.buy .r{display:block; font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink); transition:color .3s var(--ease);}
.buy .f{display:block; margin-top:4px; font-size:12.5px; color:var(--ink-label);}
.buy a:hover .r,.buy a:focus-visible .r{color:var(--slate);}
.s-ink .buy{border-color:var(--rule-dark);}
.s-ink .buy li{border-color:var(--rule-dark);}
.s-ink .buy .r{color:var(--white);}
.s-ink .buy .f{color:var(--steel);}
.s-ink .buy a:hover .r{color:var(--platinum);}
.prose .press-links{padding-left:0;}
.prose .press-links li{margin:0; font-size:15px;}

/* ---------------------------------------------------------------- testimonials
   Two voices, set as quotes rather than cards. */
.testimonials{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(32px, 5vw, 80px); margin-top:clamp(8px, 2vw, 20px);}
.testimonial{margin:0; border-top:1px solid var(--ink); padding-top:clamp(22px, 2.6vw, 32px);}
.testimonial blockquote{margin:0;}
.testimonial blockquote p{font-family:var(--display); font-size:clamp(19px, 2.1vw, 26px); font-weight:300; line-height:1.45; letter-spacing:-0.02em; color:var(--ink); margin:0; max-width:none;}
.testimonial figcaption{margin-top:22px;}
.testimonial .t-name{display:block; font-family:var(--display); font-size:13px; font-weight:700; letter-spacing:0.04em; color:var(--ink);}
.testimonial .t-role{display:block; margin-top:5px; font-family:var(--display); font-size:10.5px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label);}
.s-ink .testimonial{border-color:var(--platinum);}
.s-ink .testimonial blockquote p,.s-ink .testimonial .t-name{color:var(--white);}
.s-ink .testimonial .t-role{color:var(--graphite);}
.measure .testimonial,.prose .testimonial{margin:clamp(32px, 4vw, 48px) 0;}
.prose .testimonial blockquote{border:0; padding:0;}
@media (max-width:760px){ .testimonials{grid-template-columns:minmax(0, 1fr);} }

/* ---------------------------------------------------------------- In the Media */
.stats.stats-3 > .stat{flex:1 1 180px;}
.page-hero .stats{margin-top:clamp(36px, 5vw, 56px);}
.m-group + .m-group{margin-top:clamp(56px, 7vw, 96px);}
.m-group[hidden]{display:none;}
.media-list .m-what{flex:1 0 100%; font-size:13.5px; color:var(--ink-label); margin-top:-2px;}
.s-ink .media-list .m-what{color:var(--steel);}
.media-list .m-static{display:flex; flex-wrap:wrap; gap:6px 24px; align-items:baseline; padding:22px 0; color:var(--ink);}
.s-ink .media-list .m-static{color:var(--white);}
.and-more{margin-top:clamp(56px, 7vw, 96px); border-top:1px solid var(--ink); padding-top:26px; max-width:760px;}
.and-more .am-label{font-family:var(--display); font-size:clamp(26px, 3.2vw, 40px); font-weight:700; letter-spacing:-0.03em; line-height:1; color:var(--ink); margin:0 0 16px;}
.profile-links{list-style:none; margin:0; padding:0; border-top:1px solid var(--rule-dark);}
.profile-links li{border-bottom:1px solid var(--rule-dark);}
.profile-links a{display:flex; justify-content:space-between; align-items:center; padding:18px 0; text-decoration:none; font-family:var(--display); font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--white); transition:color .3s var(--ease);}
.profile-links a:hover,.profile-links a:focus-visible{color:var(--platinum);}
.press-list .press-more .press-name{font-weight:300; font-style:italic;}

/* ---------------------------------------------------------------- the podcast archive */
.ep-tools{display:flex; flex-wrap:wrap; align-items:flex-end; gap:18px 36px; margin:0 0 30px;}
.ep-tools[hidden]{display:none;}
.ep-tools input{
  flex:1 1 280px; max-width:380px; box-sizing:border-box; padding:14px 0; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:transparent;
  font-family:var(--body); font-size:15px; color:var(--ink);
}
.ep-tools input::placeholder{color:var(--ink-label);}
.ep-tools input:focus{outline:none; border-bottom-width:2px; padding-bottom:13px;}
.ep-tools input:focus-visible{outline:2px solid var(--ink); outline-offset:4px;}
.ep-tools input::-webkit-search-cancel-button{-webkit-appearance:none; appearance:none; width:13px; height:13px; margin-left:10px; cursor:pointer; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M1.5 1.5l10 10M11.5 1.5l-10 10' stroke='%230A0A0A' stroke-width='1.5'/%3E%3C/svg%3E") center / 13px 13px no-repeat;}
.ep-years{display:flex; flex-wrap:wrap; border-bottom:1px solid var(--rule-light);}
.ep-years button{
  all:unset; cursor:pointer; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--ink-label); padding:14px 0; margin-right:24px; margin-bottom:-1px; border-bottom:1px solid transparent; transition:color .3s var(--ease), border-color .3s var(--ease);
}
.ep-years button:hover{color:var(--ink);}
.ep-years button[aria-pressed="true"]{color:var(--ink); border-color:var(--ink);}
.ep-years button:focus-visible{outline:2px solid var(--ink); outline-offset:2px;}
.ep-count{flex:1 0 100%; margin:0; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-label);}
.ep-list{padding:0;}
.ep-list li[hidden]{display:none;}
.ep-more{margin:34px 0 0;}
.ep-more[hidden]{display:none;}

/* ---------------------------------------------------------------- FAQ */
.faq-jump{display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:clamp(28px, 4vw, 44px);}
.faq-jump a{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--platinum); text-decoration:none; border-bottom:1px solid var(--rule-dark); padding-bottom:6px; transition:color .3s var(--ease), border-color .3s var(--ease);}
.faq-jump a:hover,.faq-jump a:focus-visible{color:var(--white); border-color:var(--platinum);}
.faq-wrap{max-width:980px;}
.faq-group{scroll-margin-top:110px;}
.faq-group + .faq-group{margin-top:clamp(52px, 6vw, 84px);}
.faq-h{margin:0 0 20px;}
@media print{
  .ep-tools,.ep-more,.faq-jump{display:none !important;}
  .ep-list li[hidden]{display:list-item !important;}
}

/* ---------------------------------------------------------------- breadcrumbs
   The visible trail above each inner page's eyebrow, matching its BreadcrumbList. */
.crumbs{margin:0 0 22px;}
.crumbs ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 0;}
.crumbs li{font-family:var(--display); font-size:10px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--platinum);}
.crumbs li + li::before{content:"/"; margin:0 10px; color:var(--graphite);}
.crumbs a{color:var(--graphite); text-decoration:none; border-bottom:1px solid transparent; transition:color .3s var(--ease), border-color .3s var(--ease);}
.crumbs a:hover,.crumbs a:focus-visible{color:var(--white); border-bottom-color:currentColor;}
@media print{ .crumbs{display:none;} }

/* ---------------------------------------------------------------- the introduction video
   Silent, thirty seconds, never autoplayed: it plays only when asked. */
.intro-video{margin:0;}
.intro-video video{display:block; width:100%; height:auto; aspect-ratio:16 / 9; background:var(--ink); border:1px solid var(--rule-dark);}
.intro-video figcaption{margin-top:14px; font-size:13px; color:var(--graphite);}
.intro-video figcaption .ilink{color:var(--platinum);}
@media print{ .intro-video{display:none;} }
.iv-frame{position:relative;}
.iv-play{border:0; padding:0; cursor:pointer; width:84px; height:84px; margin:-42px 0 0 -42px;}
.iv-play[hidden]{display:none;}
.iv-play:hover,.iv-play:focus-visible{transform:scale(1.08);}
.iv-play:focus-visible{outline:2px solid var(--platinum); outline-offset:4px;}

/* ---------------------------------------------------------------- header fit
   With Podcast in the nav, the narrowest desktop range tightens a little more
   so the nav, search, and Contact keep one line with the full gutter. */
@media (min-width:1101px) and (max-width:1279px){
  .site-header .wrap{gap:16px;}
  .nav{gap:14px;}
}

/* ---------------------------------------------------------------- reader reviews
   Amazon reviews of the Second Edition, verbatim. The first is set wide. */
.reviews{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1px; background:var(--rule-light); border:1px solid var(--rule-light); margin-top:clamp(8px, 2vw, 20px);}
.review{margin:0; background:var(--white); padding:clamp(26px, 3vw, 40px); display:flex; flex-direction:column;}
.review.lead{grid-column:1 / -1;}
.review blockquote{margin:0 0 24px; flex:1;}
.rv-stars{margin:0 0 16px; font-size:15px; letter-spacing:0.22em; color:var(--ink); line-height:1;}
.review .rv-title{font-family:var(--display); font-size:clamp(19px, 1.9vw, 24px); font-weight:700; letter-spacing:-0.02em; line-height:1.3; color:var(--ink); margin:0 0 12px; max-width:none;}
.review.lead .rv-title{font-size:clamp(22px, 2.4vw, 30px);}
.review blockquote p + p,.review blockquote p:not(.rv-title){font-size:15.5px; line-height:1.7; color:var(--ink-body); margin:0; max-width:78ch;}
.review figcaption{border-top:1px solid var(--rule-light); padding-top:16px;}
.rv-name{display:block; font-family:var(--display); font-size:13px; font-weight:700; letter-spacing:0.04em; color:var(--ink);}
.rv-meta{display:block; margin-top:5px; font-family:var(--display); font-size:10.5px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-label);}
@media (max-width:900px){ .reviews{grid-template-columns:minmax(0, 1fr);} }
