/*! RP Theme — base — reset, container, sections, focus, motion
    Generated from the approved R&P homepage. Do not hand-edit:
    change the homepage source and re-run the extractor. */
/* ============================================================
   R&P CHINA LAWYERS — DESIGN SYSTEM v6
   Red #B71D29 · Gray #EDEDED · White #FFFFFF
   Red = surface / icons / rules. Body text is never red.
   Playfair Display headings · Instrument Sans UI. Radius 0.
   ============================================================ */

:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.site-header :focus-visible,.hero :focus-visible,.quotes :focus-visible,.cta-band :focus-visible{outline-color:#FFF}
*{box-sizing:border-box;margin:0;padding:0}
/* anchors land clear of the header, which is pinned to the top once the page is scrolled */
html{overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;scroll-padding-top:calc(98px + var(--wp-admin--admin-bar--height,0px))}
body{background:var(--white);color:var(--body);font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:var(--f-body);line-height:1.75;-webkit-font-smoothing:antialiased}
@media(prefers-reduced-motion:reduce){html,.ecar-window,.q-window{scroll-behavior:auto!important}
  .tcard img,.ecard,.icard,.wcard,.ncard,.btn svg,.link-r svg,.cbtn svg{transition:none!important}
  .site-header{animation:none!important}
  .nav a::after,.nav-sub,.nav-toggle .ico,.mnav-toggle .ico{transition:none!important}
  .mnav,.mnav-shade,.mnav__list>*,.mnav__foot,.mnav__close .ico{transition:none!important}
  .mnav-sub{animation:none!important}
  .js-anim .rv.is-in>*{animation:none!important}}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif;color:var(--ink);font-weight:600;line-height:1.2;text-wrap:balance}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--pad);position:relative;z-index:2}
.section{padding:var(--section-y) 0}
.section--gray{background:var(--gray-soft)}
.dot{color:var(--red)}

/* touch — a control answers the first tap (no double-tap zoom wait, pinch-zoom kept),
   the grey iOS tap flash becomes a faint brand tint (controls with a pressed state of
   their own clear it), iOS never restyles a button, and form text is never below 16px
   so a phone never zooms on focus */
a,button,input,select,textarea,label,summary{touch-action:manipulation;-webkit-tap-highlight-color:var(--red-ghost)}
button{font:inherit;color:inherit;-webkit-appearance:none;appearance:none;border-radius:0}
input,select,textarea{font:inherit;color:inherit}
a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important;font:inherit!important}
/* notch and rounded corners: in landscape, text stays inside the safe area */
@supports(padding:max(0px)){
  .container{padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}
}

/* shared bits */
.ico{display:block;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.badge{width:56px;height:56px;border-radius:50%;background:var(--red-tint);color:var(--red);
  display:flex;align-items:center;justify-content:center;flex:none}
.badge--sm{width:44px;height:44px}
.rule{width:56px;height:3px;background:var(--red);margin:20px 0 24px}
.rule--sm{width:38px;height:2px;margin:14px 0 12px}
.rule-c{width:62px;height:3px;background:var(--red);margin:20px auto 24px;position:relative}
.rule-c::before,.rule-c::after{content:"";position:absolute;top:1px;width:52px;height:1px;background:var(--line)}
.rule-c::before{right:100%;margin-right:16px}.rule-c::after{left:100%;margin-left:16px}
.notch{position:relative;border-top:3px solid var(--red)}
.notch::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:0;
  border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid var(--red)}
.ghost-num{font-family:"Playfair Display",Georgia,serif;font-size:60px;font-weight:600;color:rgba(31,36,41,.10);line-height:1;pointer-events:none}
.has-art{position:relative;overflow:hidden}
.art{position:absolute;pointer-events:none;z-index:0}
.art--sky{right:-40px;top:0;width:620px;opacity:.13}
.art--compass{left:-52px;top:34px;width:260px;opacity:.09}
.cp-ring{fill:none;stroke:var(--ink);stroke-width:1.1}
.cp-line{fill:none;stroke:var(--ink);stroke-width:1}
.cp-fill{fill:var(--ink);stroke:none}
.wm-logo{position:absolute;left:-26px;top:64px;width:430px;
  opacity:.06;filter:grayscale(1);z-index:0;pointer-events:none}

@media(max-width:1200px){
  :root{--f-h1:50px;--f-h2:38px;--section-y:84px;--pad:32px}
}
@media(max-width:900px){
  :root{--f-h1:42px;--f-h2:32px;--f-h3:21px;--f-lead:17px;--section-y:70px;--pad:24px}
  .art,.wm-logo{display:none}
}
@media(max-width:640px){
  :root{--f-h1:34px;--f-h2:27px;--section-y:58px;--pad:18px;--f-body:16px}
}
