:root{
  --legal-bg:#fafafa;
  --legal-paper:#ffffff;
  --legal-text:#272727;
  --legal-muted:#747474;
  --legal-line:rgba(39,39,39,.16);
  --legal-blue:#013162;
  --legal-blue-hover:#02294f;
  --legal-display:"Inter Tight",Arial,sans-serif;
  --legal-serif:"Oranienbaum",Georgia,serif;
}

body.legal-article-page,
body.legal-article-page *{
  box-sizing:border-box;
}

body.legal-article-page{
  margin:0;
  background:var(--legal-bg);
  color:var(--legal-text);
  font-family:var(--legal-display);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.legal-article-page img{
  max-width:100%;
  height:auto;
}

body.legal-article-page a{
  color:inherit;
}

.legal-article-shell-main,
.legal-single{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.legal-reading-progress{
  position:fixed;
  z-index:9998;
  top:0;
  left:0;
  width:100%;
  height:3px;
  pointer-events:none;
}

.legal-reading-progress__bar{
  display:block;
  width:100%;
  height:100%;
  background:var(--legal-blue);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}

/* HERO */

.legal-single__hero{
  position:relative;
  isolation:isolate;
  min-height:720px;
  padding:170px 30px 74px;
  overflow:hidden;
  background:var(--legal-paper);
  border-bottom:1px solid var(--legal-line);
}

.legal-single__hero::after{
  content:"";
  position:absolute;
  z-index:-2;
  right:-10vw;
  top:50%;
  width:44vw;
  height:44vw;
  min-width:560px;
  min-height:560px;
  border:1px solid rgba(39,39,39,.07);
  border-radius:50%;
  transform:translateY(-49%);
}

.legal-single__hero-mark{
  position:absolute;
  z-index:-1;
  right:4.5vw;
  top:50%;
  width:min(31vw,520px);
  height:min(22vw,370px);
  opacity:.045;
  background:url("legal-mark-dark.png") center/contain no-repeat;
  transform:translateY(-45%);
  pointer-events:none;
}

.legal-single__hero-inner{
  width:100%;
  max-width:1500px;
  margin:0 auto;
}

.legal-breadcrumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  max-width:1080px;
  margin:0 0 72px;
  color:rgba(39,39,39,.48);
  font-size:14px;
  font-weight:400;
  line-height:1.4;
}

.legal-breadcrumbs a{
  color:var(--legal-text);
  text-decoration:none;
  transition:opacity .25s ease;
}

.legal-breadcrumbs a:hover{
  opacity:.52;
}

.legal-breadcrumbs > span:last-child{
  max-width:460px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.legal-single__eyebrow{
  display:flex;
  align-items:center;
  gap:18px;
  max-width:1060px;
  margin-bottom:25px;
  font-family:var(--legal-serif);
  font-size:18px;
  line-height:1;
}

.legal-single__eyebrow-line{
  width:54px;
  height:1px;
  background:currentColor;
  opacity:.4;
}

.legal-single__eyebrow time{
  opacity:.52;
}

.legal-single__title{
  max-width:1100px;
  margin:0;
  font-family:var(--legal-display);
  font-size:clamp(52px,5.25vw,101px);
  font-weight:500;
  line-height:.94;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.legal-single__lead{
  max-width:800px;
  margin:39px 0 0;
  color:rgba(39,39,39,.69);
  font-size:clamp(19px,1.32vw,25px);
  font-weight:400;
  line-height:1.45;
  letter-spacing:-.02em;
}

.legal-single__hero-meta{
  display:flex;
  gap:64px;
  margin-top:66px;
}

.legal-single__hero-meta > div{
  display:grid;
  gap:7px;
}

.legal-single__hero-meta span{
  color:var(--legal-muted);
  font-family:var(--legal-serif);
  font-size:15px;
  line-height:1;
}

.legal-single__hero-meta strong{
  font-size:15px;
  font-weight:500;
  line-height:1;
}

/* ARTICLE LAYOUT */

.legal-single__body{
  padding:104px 30px 130px;
  background:var(--legal-bg);
}

.legal-single__layout{
  display:grid;
  grid-template-columns:minmax(0,820px) minmax(260px,340px);
  justify-content:center;
  align-items:start;
  gap:clamp(70px,8vw,150px);
  max-width:1500px;
  margin:0 auto;
}

.legal-single__content{
  min-width:0;
  color:var(--legal-text);
  font-size:19px;
  font-weight:400;
  line-height:1.72;
  letter-spacing:-.012em;
}

.legal-single__content > :first-child{
  margin-top:0!important;
}

.legal-single__content > :last-child{
  margin-bottom:0!important;
}

.legal-single__content p{
  margin:0 0 25px;
}

.legal-single__content h2,
.legal-single__content h3,
.legal-single__content h4{
  scroll-margin-top:130px;
  color:var(--legal-text);
  font-family:var(--legal-display);
  font-weight:500;
  letter-spacing:-.04em;
  text-wrap:balance;
}

.legal-single__content h2{
  margin:82px 0 26px;
  padding-top:28px;
  border-top:1px solid var(--legal-line);
  font-size:clamp(34px,2.5vw,48px);
  line-height:1.03;
}

.legal-single__content h3{
  margin:48px 0 18px;
  font-size:29px;
  line-height:1.12;
}

.legal-single__content h4{
  margin:35px 0 14px;
  font-size:23px;
  line-height:1.2;
}

.legal-single__content ul,
.legal-single__content ol{
  display:grid;
  gap:13px;
  margin:26px 0 34px;
  padding:0;
  list-style:none;
  counter-reset:legal-list;
}

.legal-single__content li{
  position:relative;
  padding-left:31px;
}

.legal-single__content ul > li::before{
  content:"";
  position:absolute;
  top:.75em;
  left:0;
  width:14px;
  height:1px;
  background:var(--legal-blue);
}

.legal-single__content ol > li{
  counter-increment:legal-list;
}

.legal-single__content ol > li::before{
  content:counter(legal-list, decimal-leading-zero);
  position:absolute;
  top:.09em;
  left:0;
  color:var(--legal-blue);
  font-family:var(--legal-serif);
  font-size:15px;
}

.legal-single__content a{
  color:var(--legal-blue);
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

.legal-single__content strong,
.legal-single__content b{
  font-weight:600;
}

.legal-single__content blockquote{
  position:relative;
  margin:54px 0;
  padding:32px 36px 33px 70px;
  background:var(--legal-paper);
  border:1px solid var(--legal-line);
  font-size:22px;
  line-height:1.5;
}

.legal-single__content blockquote::before{
  content:"“";
  position:absolute;
  top:18px;
  left:24px;
  color:var(--legal-blue);
  font-family:var(--legal-serif);
  font-size:58px;
  line-height:1;
}

.legal-single__content blockquote p:last-child{
  margin-bottom:0;
}

.legal-single__content figure,
.legal-single__content .wp-block-image{
  margin:52px 0;
}

.legal-single__content figure img,
.legal-single__content .wp-block-image img{
  display:block;
  width:100%;
}

.legal-single__content figcaption{
  margin-top:11px;
  color:var(--legal-muted);
  font-family:var(--legal-serif);
  font-size:14px;
  line-height:1.4;
}

.legal-single__content hr{
  height:1px;
  margin:64px 0;
  border:0;
  background:var(--legal-line);
}

.legal-single__content table{
  width:100%;
  margin:40px 0;
  border-collapse:collapse;
  background:var(--legal-paper);
  font-size:16px;
  line-height:1.45;
}

.legal-single__content th,
.legal-single__content td{
  padding:16px 18px;
  border:1px solid var(--legal-line);
  text-align:left;
  vertical-align:top;
}

.legal-single__content th{
  font-weight:600;
}

.legal-single__notice{
  margin-top:80px;
  padding:30px 32px;
  background:var(--legal-blue);
  color:#fff;
}

.legal-single__notice span{
  display:block;
  margin-bottom:15px;
  font-family:var(--legal-serif);
  font-size:16px;
}

.legal-single__notice p{
  max-width:690px;
  margin:0;
  font-size:17px;
  line-height:1.55;
}

.legal-page-links{
  display:flex;
  gap:8px;
  margin-top:45px;
}

/* ASIDE */

.legal-single__aside{
  position:sticky;
  top:110px;
  display:grid;
  gap:24px;
}

.legal-aside-card{
  position:relative;
  overflow:hidden;
  padding:30px;
  background:var(--legal-paper);
  border:1px solid var(--legal-line);
}

.legal-aside-card::after{
  content:"";
  position:absolute;
  right:-44px;
  bottom:-28px;
  width:190px;
  height:125px;
  opacity:.045;
  background:url("legal-mark-dark.png") center/contain no-repeat;
  pointer-events:none;
}

.legal-aside-card__label,
.legal-aside-index__label{
  display:block;
  margin-bottom:32px;
  font-family:var(--legal-serif);
  font-size:15px;
}

.legal-aside-card h2{
  position:relative;
  z-index:1;
  margin:0 0 18px;
  font-size:30px;
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.045em;
}

.legal-aside-card p{
  position:relative;
  z-index:1;
  margin:0 0 29px;
  color:var(--legal-muted);
  font-size:16px;
  line-height:1.5;
}

.legal-button{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:58px;
  padding:0 19px;
  text-decoration:none;
  transition:background-color .3s ease,color .3s ease;
}

.legal-button svg,
.legal-back-link svg,
.legal-related-card svg{
  flex:none;
  width:16px;
  height:auto;
  fill:currentColor;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}

.legal-button--primary{
  background:var(--legal-blue);
  color:#fff!important;
  font-family:var(--legal-serif);
  font-size:16px;
}

.legal-button--primary:hover{
  background:var(--legal-blue-hover);
}

.legal-button:hover svg{
  transform:translateX(5px);
}

.legal-aside-index{
  padding:28px 30px 25px;
  border:1px solid var(--legal-line);
}

.legal-aside-index__label{
  margin-bottom:19px;
}

.legal-article-index{
  display:grid;
}

.legal-article-index:empty::after{
  content:"Разделы появятся, если в тексте используются подзаголовки.";
  color:var(--legal-muted);
  font-size:14px;
  line-height:1.45;
}

.legal-article-index a{
  display:block;
  padding:12px 0;
  border-top:1px solid var(--legal-line);
  color:var(--legal-muted);
  font-size:14px;
  line-height:1.35;
  text-decoration:none;
  transition:color .25s ease,padding-left .25s ease;
}

.legal-article-index a:hover,
.legal-article-index a.is-active{
  padding-left:7px;
  color:var(--legal-text);
}

.legal-back-link{
  display:flex;
  align-items:center;
  gap:13px;
  width:max-content;
  color:var(--legal-text);
  font-family:var(--legal-serif);
  font-size:16px;
  text-decoration:none;
}

.legal-back-link:hover svg{
  transform:translateX(-5px);
}

/* RELATED */

.legal-related{
  padding:105px 30px 115px;
  background:var(--legal-paper);
  border-top:1px solid var(--legal-line);
}

.legal-related__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  max-width:1500px;
  margin:0 auto 38px;
}

.legal-related__eyebrow{
  display:block;
  margin-bottom:14px;
  font-family:var(--legal-serif);
  font-size:16px;
}

.legal-related__head h2{
  margin:0;
  font-size:clamp(42px,3.4vw,65px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.05em;
}

.legal-related__head > a{
  padding-bottom:7px;
  font-family:var(--legal-serif);
  font-size:17px;
  text-decoration:none;
  border-bottom:1px solid currentColor;
}

.legal-related__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:1500px;
  margin:0 auto;
  border-top:1px solid var(--legal-line);
  border-left:1px solid var(--legal-line);
}

.legal-related-card{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:360px;
  padding:25px;
  overflow:hidden;
  border-right:1px solid var(--legal-line);
  border-bottom:1px solid var(--legal-line);
  color:var(--legal-text);
  text-decoration:none;
  transition:background-color .35s ease,color .35s ease;
}

.legal-related-card::before{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  width:0;
  height:3px;
  background:#fff;
  transition:width .45s cubic-bezier(.22,1,.36,1);
}

.legal-related-card__mark{
  position:absolute;
  z-index:-1;
  left:22px;
  bottom:43px;
  width:195px;
  height:130px;
  opacity:.055;
  background:url("legal-mark-dark.png") left bottom/contain no-repeat;
  transition:opacity .35s ease,transform .55s cubic-bezier(.22,1,.36,1);
}

.legal-related-card h3{
  max-width:380px;
  margin:0;
  font-size:25px;
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.04em;
}

.legal-related-card__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-family:var(--legal-serif);
  font-size:16px;
}

.legal-related-card__bottom > span{
  display:flex;
  align-items:center;
  gap:13px;
}

.legal-related-card:hover{
  background:var(--legal-blue);
  color:#fff;
}

.legal-related-card:hover::before{
  width:100%;
}

.legal-related-card:hover .legal-related-card__mark{
  opacity:.12;
  background-image:url("legal-mark-white.png");
  transform:translateX(8px) scale(1.04);
}

.legal-related-card:hover svg{
  transform:translateX(5px);
}

/* REVEAL */

body.legal-article-page.legal-reveal-ready .legal-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease,transform .9s cubic-bezier(.22,1,.36,1);
}

body.legal-article-page.legal-reveal-ready .legal-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* TABLET */

@media(max-width:1100px){
  .legal-single__hero{
    min-height:650px;
    padding:145px 24px 65px;
  }

  .legal-breadcrumbs{
    margin-bottom:55px;
  }

  .legal-single__body{
    padding:85px 24px 105px;
  }

  .legal-single__layout{
    grid-template-columns:minmax(0,760px) 285px;
    gap:55px;
  }

  .legal-related{
    padding:85px 24px 95px;
  }

  .legal-related-card{
    min-height:330px;
  }
}

@media(max-width:900px){
  .legal-single__hero{
    min-height:auto;
  }

  .legal-single__hero-mark{
    right:-50px;
    width:390px;
    height:270px;
  }

  .legal-single__layout{
    grid-template-columns:1fr;
    max-width:800px;
  }

  .legal-single__aside{
    position:static;
    grid-template-columns:1fr 1fr;
  }

  .legal-back-link{
    grid-column:1 / -1;
  }

  .legal-related__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .legal-related-card:last-child{
    grid-column:1 / -1;
    min-height:300px;
  }
}

/* MOBILE */

@media(max-width:600px){
  .legal-single__hero{
    padding:115px 16px 48px;
  }

  .legal-single__hero::after{
    right:-330px;
    width:600px;
    height:600px;
  }

  .legal-single__hero-mark{
    right:-85px;
    top:62%;
    width:290px;
    height:195px;
  }

  .legal-breadcrumbs{
    margin-bottom:43px;
    font-size:12px;
  }

  .legal-breadcrumbs > span:last-child{
    display:none;
  }

  .legal-single__eyebrow{
    gap:12px;
    margin-bottom:19px;
    font-size:15px;
  }

  .legal-single__eyebrow-line{
    width:29px;
  }

  .legal-single__title{
    font-size:clamp(42px,13vw,62px);
    line-height:.96;
  }

  .legal-single__lead{
    margin-top:28px;
    font-size:18px;
    line-height:1.45;
  }

  .legal-single__hero-meta{
    gap:35px;
    margin-top:45px;
  }

  .legal-single__hero-meta span,
  .legal-single__hero-meta strong{
    font-size:13px;
  }

  .legal-single__body{
    padding:62px 16px 75px;
  }

  .legal-single__content{
    font-size:17px;
    line-height:1.68;
  }

  .legal-single__content p{
    margin-bottom:21px;
  }

  .legal-single__content h2{
    margin-top:61px;
    padding-top:22px;
    font-size:34px;
  }

  .legal-single__content h3{
    margin-top:40px;
    font-size:25px;
  }

  .legal-single__content li{
    padding-left:27px;
  }

  .legal-single__content blockquote{
    margin:42px 0;
    padding:26px 22px 27px 54px;
    font-size:19px;
  }

  .legal-single__content blockquote::before{
    left:17px;
  }

  .legal-single__content table{
    display:block;
    overflow-x:auto;
    font-size:14px;
  }

  .legal-single__notice{
    margin-top:60px;
    padding:25px 22px;
  }

  .legal-single__aside{
    grid-template-columns:1fr;
  }

  .legal-aside-card,
  .legal-aside-index{
    padding:24px;
  }

  .legal-related{
    padding:67px 16px 72px;
  }

  .legal-related__head{
    align-items:flex-start;
    margin-bottom:28px;
  }

  .legal-related__head h2{
    font-size:41px;
  }

  .legal-related__head > a{
    display:none;
  }

  .legal-related__grid{
    grid-template-columns:1fr;
  }

  .legal-related-card,
  .legal-related-card:last-child{
    grid-column:auto;
    min-height:300px;
    padding:21px;
  }

  .legal-related-card h3{
    font-size:22px;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Minimal fallback shell when the main site-shell plugin is disabled. */
.legal-fallback-header{
  position:absolute;
  z-index:100;
  top:0;
  left:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  width:100%;
  min-height:92px;
  padding:0 30px;
  border-bottom:1px solid var(--legal-line);
}

.legal-fallback-header__logo{
  font-size:24px;
  font-weight:600;
  letter-spacing:.08em;
  text-decoration:none;
}

.legal-fallback-header nav{
  display:flex;
  align-items:center;
  gap:28px;
}

.legal-fallback-header nav a{
  font-family:var(--legal-serif);
  font-size:16px;
  text-decoration:none;
}

.legal-fallback-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:150px;
  padding:35px 30px;
  background:var(--legal-blue);
  color:#fff;
}

.legal-fallback-footer a{
  font-size:24px;
  font-weight:600;
  letter-spacing:.08em;
  text-decoration:none;
}

.legal-fallback-footer span{
  font-family:var(--legal-serif);
  font-size:15px;
}

@media(max-width:600px){
  .legal-fallback-header{
    min-height:78px;
    padding:0 16px;
  }

  .legal-fallback-header nav{
    gap:14px;
  }

  .legal-fallback-header nav a:first-child{
    display:none;
  }

  .legal-fallback-header nav a{
    font-size:14px;
  }

  .legal-fallback-footer{
    align-items:flex-start;
    flex-direction:column;
    min-height:135px;
    padding:30px 16px;
  }
}
