/*! RP Theme — single entry layout
    Practice area, industry, insight article and generic page body.
    Prose is set to the same scale as the homepage, never a second one. */

.rp-single{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;align-items:start}
.rp-single--wide{grid-template-columns:minmax(0,1fr)}

/* ---------- prose ------------------------------------------------ */
.rp-prose{max-width:72ch;font-size:var(--f-body);line-height:1.8;color:var(--body);overflow-wrap:break-word}
/* editor media never pushes a phone screen sideways */
.rp-prose iframe,.rp-prose video,.rp-prose embed,.rp-prose object{max-width:100%}
.rp-prose .wp-block-table,.rp-prose .wp-block-embed__wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rp-prose>*+*{margin-top:22px}
.rp-prose h2{font-size:32px;line-height:1.25;margin-top:52px}
.rp-prose h3{font-size:var(--f-h3);line-height:1.3;margin-top:40px}
.rp-prose h4{font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:17px;font-weight:600;color:var(--ink);margin-top:32px}
.rp-prose h2+*,.rp-prose h3+*,.rp-prose h4+*{margin-top:14px}
.rp-prose a{color:var(--ink);border-bottom:1px solid var(--red);
  transition:border-bottom-color .18s ease}
@media(hover:hover){.rp-prose a:hover{border-bottom-color:var(--red-deep)}}
.rp-prose strong{color:var(--ink);font-weight:600}
.rp-prose ul,.rp-prose ol{padding-left:22px}
.rp-prose li+li{margin-top:9px}
.rp-prose ul{list-style:none;padding-left:0}
.rp-prose ul li{position:relative;padding-left:26px}
.rp-prose ul li::before{content:"";position:absolute;left:0;top:.72em;
  width:9px;height:2px;background:var(--red)}
.rp-prose ol{list-style:decimal;padding-left:24px}
.rp-prose ol li::marker{color:var(--muted);font-family:"Playfair Display",Georgia,serif}
.rp-prose blockquote{border-left:3px solid var(--red);padding:4px 0 4px 26px;margin-left:0;
  font-family:"Playfair Display",Georgia,serif;font-size:23px;line-height:1.5;color:var(--ink)}
.rp-prose blockquote cite{display:block;margin-top:12px;
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:14px;font-style:normal;color:var(--muted)}
.rp-prose img,.rp-prose figure{max-width:100%}
.rp-prose figure{margin:36px 0}
.rp-prose figcaption{margin-top:10px;font-size:13.5px;color:var(--muted)}
.rp-prose hr{border:none;border-top:1px solid var(--line-soft);margin:44px 0}
.rp-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.92em;background:var(--gray-soft);padding:2px 6px;border:1px solid var(--line-soft)}
.rp-prose pre{background:var(--charcoal);color:#E6E8EA;padding:22px;overflow-x:auto;font-size:14px}
.rp-prose pre code{background:none;border:none;color:inherit;padding:0}

/* tables scroll rather than break the page */
.rp-prose .rp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rp-prose table{width:100%;border-collapse:collapse;font-size:15.5px}
.rp-prose th,.rp-prose td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line-soft)}
.rp-prose th{font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);border-bottom-color:var(--line)}
@media(hover:hover){.rp-prose tbody tr:hover{background:var(--gray-soft)}}

/* ---------- the article's own picture ---------------------------- */
/* the photograph over the opening of the text; a caption sits on it, behind a
   gradient, with the red rule the design puts before a standing line */
.ins-shot{position:relative;margin:0 0 38px}
.ins-shot .shot{height:340px}
.ins-shot figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:54px 28px 22px;font-family:"Playfair Display",Georgia,serif;font-size:18px;
  line-height:1.45;color:var(--white);
  background:linear-gradient(to top,rgba(11,14,17,.86),transparent)}
.ins-shot figcaption::before{content:"";position:absolute;left:14px;top:52px;bottom:22px;width:3px;background:var(--red)}

/* each heading in an article closes on the design's short red rule */
.ins-article .rp-prose h2::after{content:"";display:block;width:44px;height:3px;
  background:var(--red);margin-top:16px}

/* ---------- sidebar: the topics, and more insights --------------- */
.rp-aside__nav{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.rp-aside__nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:48px;padding:10px 16px;border:1px solid var(--line-soft);
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:15px;font-weight:600;color:var(--ink);
  transition:border-color .18s ease,background-color .18s ease}
.rp-aside__nav .ico{color:var(--red);flex:none;transition:transform .24s cubic-bezier(.22,.61,.36,1)}
.rp-aside__nav a:active,.rp-aside__nav a[aria-current]{border-color:var(--red)}
@media(hover:hover){.rp-aside__nav a:hover{border-color:var(--red);background:var(--gray-soft)}
.rp-aside__nav a:hover .ico{transform:translateX(4px)}}
.rp-aside__box .chip{margin-bottom:12px}
.rp-aside__box h3+.rp-more{margin-top:18px}

/* three rows, each a small picture beside a headline of at most three lines and the
   date (and the topic, when the list mixes topics) */
.rp-more{display:flex;flex-direction:column;margin-top:18px}
.rp-more__item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:stretch;
  padding:14px 0;border-top:1px solid var(--line-soft)}
.rp-more__item:first-child{padding-top:0;border-top:0}
.rp-more__item:last-child{padding-bottom:0}
/* the picture takes the full height of its row and the words sit centred beside it,
   so the two always finish level */
.rp-more__item .shot{height:auto;min-height:66px}
.rp-more__item .shot img{position:absolute;inset:0}
.rp-more__item>div:last-child{align-self:center}
.rp-more__cat{font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:10.5px;font-weight:600;letter-spacing:.12em;line-height:1.3;text-transform:uppercase;color:var(--muted)}
.rp-more h4{font-family:"Playfair Display",Georgia,serif;font-size:14.5px;line-height:1.38;
  color:var(--ink);font-weight:600;margin-top:4px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rp-more h4 a{transition:color .18s ease}
.rp-more h4 a:active{color:var(--red-deep)}
@media(hover:hover){.rp-more h4 a:hover{color:var(--body)}}
.rp-more__date{display:block;margin-top:5px;font-size:12px;line-height:1.3;color:var(--muted)}

/* the colleagues beside a profile: portraits, not article pictures — an upright 4:5
   frame the full photograph fits (the portraits are cut 4:5), held to its top so a
   slightly taller file still keeps the face */
.rp-more--people .rp-more__item{align-items:center}
.rp-more--people .shot{align-self:center;aspect-ratio:4/5;height:auto;min-height:0}
.rp-more--people .shot img{object-position:50% 10%}

/* ---------- one person's profile -------------------------------- */
/* the portrait beside the name, the role and the ways to reach them */
.rp-bio{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start;margin-bottom:40px}
.rp-bio__shot{background:var(--gray);overflow:hidden}
.rp-bio__shot img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%}
.rp-bio__name{font-family:"Playfair Display",Georgia,serif;font-size:30px;line-height:1.2;color:var(--ink)}
.rp-bio__role{margin-top:8px;font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rp-bio .rule--sm{margin:18px 0 20px}
.rp-bio__links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.rp-bio__links a{display:inline-flex;align-items:center;gap:12px;
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;font-size:15px;color:var(--ink);
  border-bottom:1px solid var(--line);padding-bottom:3px;transition:border-bottom-color .18s ease;overflow-wrap:anywhere}
.rp-bio__links a svg{color:var(--red);flex:none}
.rp-bio__links a:active{border-bottom-color:var(--red)}
@media(hover:hover){.rp-bio__links a:hover{border-bottom-color:var(--red)}}
@media(max-width:900px){
  .rp-bio{grid-template-columns:200px minmax(0,1fr);gap:26px;margin-bottom:32px}
  .rp-bio__name{font-size:26px}
}
@media(max-width:640px){
  .rp-bio{grid-template-columns:1fr;gap:20px}
  .rp-bio__shot{max-width:220px}
}

/* ---------- a panel inside the text ------------------------------ */
/* a heading and its list in one card: the matters a practice handles, set apart from
   the paragraphs above them and, on a wide column, read in two columns */
.rp-prose .rp-panel{margin-top:38px;padding:30px 34px 22px;background:var(--gray-soft);
  border:1px solid var(--line-soft);border-top:3px solid var(--red)}
.rp-prose .rp-panel>*+*{margin-top:18px}
.rp-prose .rp-panel>:first-child{margin-top:0}
.rp-prose .rp-panel h3+p{margin-top:16px}
.rp-prose .rp-panel p+ul{margin-top:14px}
.rp-prose .rp-panel ul+p{margin-top:16px}
.rp-prose .rp-panel h3{font-size:20px;line-height:1.4;margin-top:0}
.rp-prose .rp-panel h3+ul{margin-top:20px}
/* a practice that groups its work names each group above its own list */
.rp-prose .rp-panel h4{margin-top:26px;font-size:15px;font-weight:600;letter-spacing:.01em}
.rp-prose .rp-panel h3+h4{margin-top:20px}
.rp-prose .rp-panel h4+ul{margin-top:12px}
.rp-prose .rp-panel ul+h4{margin-top:22px}
.rp-prose .rp-panel ul{columns:2;column-gap:40px}
.rp-prose .rp-panel li,.rp-prose .rp-panel li+li{margin-top:0;padding-bottom:10px;break-inside:avoid}
@media(max-width:900px){
  .rp-prose .rp-panel{padding:24px 22px 16px}
  .rp-prose .rp-panel ul{columns:1}
  .rp-prose .rp-panel h3{font-size:18.5px}
}

/* ---------- a text in two languages (the privacy policy) -------- */
/* a two-part switch above the text; English shows first, and choosing 中文 shows the
   Chinese group (its anchor becomes the :target) in place of the English one */
.rp-prose .rp-lang-switch{display:flex;width:max-content;max-width:100%;margin-bottom:34px;border:1px solid var(--line)}
.rp-prose .rp-lang-switch a{display:block;padding:9px 22px;border-bottom:0;
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.4;
  color:var(--body);transition:background-color .18s ease,color .18s ease;-webkit-tap-highlight-color:transparent}
.rp-prose .rp-lang-switch a+a{border-left:1px solid var(--line)}
.rp-prose .rp-lang-switch a:first-child,
.rp-prose:has(.rp-lang--zh:target) .rp-lang-switch a:last-child{background:var(--ink);color:var(--white)}
.rp-prose:has(.rp-lang--zh:target) .rp-lang-switch a:first-child{background:transparent;color:var(--body)}
@media(hover:hover){.rp-prose .rp-lang-switch a:hover{color:var(--ink)}
  .rp-prose .rp-lang-switch a:first-child:hover{color:var(--white)}
  .rp-prose:has(.rp-lang--zh:target) .rp-lang-switch a:first-child:hover{color:var(--ink)}
  .rp-prose:has(.rp-lang--zh:target) .rp-lang-switch a:last-child:hover{color:var(--white)}}
.rp-prose .rp-lang>*+*{margin-top:22px}
.rp-prose .rp-lang>:first-child{margin-top:0}
.rp-prose .rp-lang-switch+.rp-lang{margin-top:0}
.rp-lang--zh:not(:target){display:none}
.rp-prose:has(.rp-lang--zh:target) .rp-lang--en{display:none}
.rp-lang--zh{line-height:1.9}
.rp-lang--zh h2,.rp-lang--zh h3{line-height:1.4}

/* ---------- entry meta ------------------------------------------ */
.rp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:13.5px;color:var(--muted);margin-top:20px}
.rp-meta__sep{width:4px;height:4px;background:var(--line);flex:none}
/* the meta line opening a legal page's text */
.rp-meta--lead{margin:0 0 26px}
/* over a banner photograph the meta reads light, like the banner's own lead */
.rp-banner .rp-meta{color:#D5D9DC;text-shadow:0 1px 14px rgba(10,13,16,.5)}
.rp-banner .rp-meta__sep{background:rgba(255,255,255,.45)}

/* ---------- sidebar --------------------------------------------- */
.rp-aside{position:sticky;top:28px;display:grid;gap:26px}
.rp-aside__box{border:1px solid var(--line-soft);background:var(--white);padding:28px 26px}
.rp-aside__box--dark{background:var(--charcoal);border-color:var(--charcoal)}
.rp-aside__box--dark h3{color:var(--white)}
.rp-aside__box--dark p{color:#AEB2B6}
.rp-aside h3{font-size:19px;line-height:1.3}
.rp-aside p{font-size:14.5px;line-height:1.65;margin-top:10px}
.rp-aside__list{list-style:none;display:flex;flex-direction:column;gap:2px;margin-top:16px}
.rp-aside__list a{display:block;padding:10px 0;font-size:15px;color:var(--body);
  border-bottom:1px solid var(--line-soft);
  transition:transform .24s cubic-bezier(.22,.61,.36,1),color .18s ease}
.rp-aside__list a:active{color:var(--ink)}
@media(hover:hover){.rp-aside__list a:hover{transform:translateX(6px);color:var(--ink)}}
.rp-aside__list a[aria-current]{color:var(--ink);font-weight:600}
.rp-aside__list li:last-child a{border-bottom:none}
/* a "View all" link under the list: its fingertip target reaches 12px up, so it starts
   clear of the last item's rather than taking the bottom of it */
.rp-aside__list + .link-r{margin-top:14px}
.rp-aside .btn{margin-top:18px}

/* the person card used on team and author blocks */
.rp-person{display:flex;gap:16px;align-items:center}
.rp-person__shot{width:74px;height:74px;flex:none;overflow:hidden;background:var(--gray)}
.rp-person__shot img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.rp-person__name{font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-weight:600;color:var(--ink);font-size:15.5px}
.rp-person__role{font-size:13.5px;color:var(--muted);margin-top:2px}
.rp-person__links{display:flex;gap:8px;margin-top:8px}
.rp-person__links a{color:var(--red);display:flex;align-items:center;justify-content:center;
  width:24px;height:24px;transition:opacity .16s}
.rp-person__links a:active{opacity:.65}
@media(hover:hover){.rp-person__links a:hover{opacity:.65}}

/* ---------- next / previous ------------------------------------- */
.rp-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:22px;
  margin-top:64px;padding-top:44px;border-top:1px solid var(--line-soft)}
.rp-adjacent a{display:block;height:100%;border:1px solid var(--line-soft);padding:18px 22px;
  transition:box-shadow .18s,transform .18s;-webkit-tap-highlight-color:transparent}
.rp-adjacent--next{text-align:right}
.rp-adjacent--next .rp-adjacent__dir{justify-content:flex-end}
/* an insight article's neighbours carry their pictures: both share one shape (the
   picture, then the direction and the headline) and one height, so a short headline
   never leaves its card looking unfinished */
.rp-adjacent--shots a{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:22px}
.rp-adjacent--shots .rp-adjacent--next{text-align:left}
.rp-adjacent--shots .rp-adjacent--next .rp-adjacent__dir{justify-content:flex-start}
.rp-adjacent a:active{box-shadow:0 6px 18px rgba(20,24,27,.08)}
@media(hover:hover){.rp-adjacent a:hover{box-shadow:0 10px 26px rgba(20,24,27,.09);transform:translateY(-2px)}}
.rp-adjacent .shot{width:112px;height:80px}
.rp-adjacent__dir{display:flex;align-items:center;gap:9px;
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.rp-adjacent__dir .ico{color:var(--red);flex:none;transition:transform .24s cubic-bezier(.22,.61,.36,1)}
/* the previous article's arrow points back the way it came */
.rp-adjacent a:not(.rp-adjacent--next) .rp-adjacent__dir .ico{transform:rotate(180deg)}
.rp-adjacent__title{font-family:"Playfair Display",Georgia,serif;font-size:18px;
  line-height:1.32;color:var(--ink);margin-top:9px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(hover:hover){
  .rp-adjacent a.rp-adjacent--next:hover .rp-adjacent__dir .ico{transform:translateX(5px)}
  .rp-adjacent a:not(.rp-adjacent--next):hover .rp-adjacent__dir .ico{transform:rotate(180deg) translateX(5px)}
}

/* ---------- share ----------------------------------------------- */
.rp-share{display:flex;align-items:center;gap:11px;margin-top:40px;
  padding-top:28px;border-top:1px solid var(--line-soft)}
.rp-share__label{font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:12.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.rp-share a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  background:var(--red);color:var(--white);transition:background-color .16s;-webkit-tap-highlight-color:transparent}
.rp-share a:active{background:var(--red-dark)}
@media(hover:hover){.rp-share a:hover{background:var(--red-dark)}}

/* touch: the small icon controls grow to a fingertip */
@media(pointer:coarse){
  .rp-share{gap:12px}
  .rp-share a{width:44px;height:44px}
  .rp-person__links{gap:4px;margin-left:-10px}
  .rp-person__links a{width:44px;height:44px}
}

@media(max-width:1200px){
  .rp-single{grid-template-columns:minmax(0,1fr);gap:56px}
  .rp-aside{position:static;grid-template-columns:1fr 1fr;display:grid}
}
@media(max-width:900px){
  .rp-prose h2{font-size:27px;margin-top:42px}
  .rp-aside{grid-template-columns:1fr}
  .rp-adjacent{grid-template-columns:1fr}
  .rp-adjacent--next{text-align:left}
  .rp-adjacent--next .rp-adjacent__dir{justify-content:flex-start}
  .ins-shot .shot{height:240px}
}
@media(max-width:640px){
  .rp-prose blockquote{font-size:19px;padding-left:20px}
  .rp-aside__box{padding:22px 20px}
  .rp-adjacent--shots a{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:16px}
  .rp-adjacent .shot{width:88px;height:66px}
  .rp-adjacent__title{font-size:16.5px}
}
