*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  min-height:100vh;
}

body{
  font-family:Arial,sans-serif;

  background:
    #1d3f79
    url("/img/bg.jpg")
    center center / cover
    no-repeat;

  color:#000;
}

/* =========================
   PAGE LAYOUT
========================= */

.page{
  background:#fff;

  width:940px;
  max-width:100%;

  margin:0 auto;

  padding:46px 80px 40px;

  text-align:center;

  border-radius:24px;

  box-shadow:
    0 20px 60px rgba(0,0,0,.18);
}

/* =========================
   LOGO
========================= */

.brand{
  margin-bottom:54px;
  text-align:center;
}

.logo-img{
  width:220px;
  max-width:65%;
  height:auto;
  display:block;
  margin:0 auto;
}

/* =========================
   TITLES
========================= */

h1{
  margin-top:0;

  color:#1f3f73;

  font-family:Georgia,serif;

  font-size:40px;

  font-weight:normal;

  line-height:1.2;

  margin-bottom:32px;
}

.subtitle{
  font-size:20px;
  line-height:1.5;
  color:#333;
  margin-bottom:38px;
}

/* =========================
   CONTENT
========================= */

.content{
  max-width:660px;
  margin:0 auto;
  text-align:left;

  font-size:22px;
  line-height:1.35;
}

.content p{
  margin:0 0 34px;
}

p{
  font-size:17px;
  line-height:1.7;
  margin-bottom:20px;
}

ul{
  margin:0 0 30px 0;
  padding-left:22px;
}

li{
  font-size:17px;
  line-height:1.7;
  margin-bottom:10px;
}

/* =========================
   STATUS BOX
========================= */

.status-box{
  max-width:560px;
  margin:0 auto;

  border-radius:22px;

  overflow:hidden;

  border:1px solid #e7e7e7;

  background:#fff;
}

.row{
  display:flex;

  justify-content:space-between;

  align-items:flex-start;

  gap:20px;

  padding:18px 22px;

  border-bottom:1px solid #ececec;

  font-size:17px;
}

.row:last-child{
  border-bottom:none;
}

.label{
  color:#666;
}

.value{
  font-weight:bold;
  color:#111;
  text-align:right;
  word-break:break-word;
}

/* =========================
   CHECKBOX
========================= */

.agree{
  margin-top:44px;

  display:flex;

  gap:18px;

  align-items:flex-start;

  font-size:20px;

  line-height:1.25;
}

.agree input{
  width:28px;
  height:28px;

  margin-top:3px;

  flex:0 0 auto;

  accent-color:#1f3f73;
}

.agree a{
  color:#000;
  font-weight:bold;
  text-decoration:underline;
}

/* =========================
   BUTTONS
========================= */

button,
input[type="submit"]{

  margin-top:38px;

  width:100%;

  border:none;

  border-radius:32px;

  padding:17px;

  background:#1d3f79;

  color:#fff;

  font-size:22px;
  font-weight:bold;

  cursor:pointer;
}

button.secondary{
  margin-top:16px;
  background:#b9874b;
}

button:hover{
  opacity:.95;
}

button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* =========================
   LINKS
========================= */

a{
  color:#1d3f79;
  font-weight:bold;
}

/* =========================
   SPINNER
========================= */

.spinner{
  margin:35px auto 0;

  width:42px;
  height:42px;

  border:4px solid rgba(255,255,255,.35);
  border-top:4px solid #fff;

  border-radius:50%;

  animation:spin .8s linear infinite;
}

@keyframes spin{
  to{
    transform:rotate(360deg);
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width:700px){

  body{
    padding:0;
  }

  .page{

    width:100%;

    min-height:100vh;

    border-radius:0;

    padding:30px 22px;
  }

  .brand{
    margin-bottom:36px;
  }

  .logo-img{
    width:150px;
    max-width:70%;
  }

  h1{
    font-size:28px;
    margin-bottom:22px;
  }

  .subtitle{
    font-size:16px;
    margin-bottom:28px;
  }

  .content{
    max-width:100%;

    font-size:16px;

    line-height:1.45;
  }

  .content p{
    margin-bottom:24px;
  }

  p,
  li{
    font-size:15px;
    line-height:1.6;
  }

  .agree{
    font-size:15px;

    gap:12px;

    margin-top:28px;

    line-height:1.35;
  }

  .agree input{
    width:22px;
    height:22px;
  }

  .row{
    font-size:15px;
    padding:14px;
  }

  button,
  input[type="submit"]{

    font-size:18px;

    padding:16px;

    border-radius:22px;
  }

  .spinner{
    width:38px;
    height:38px;
  }
}
