* {
   box-sizing: border-box;
}

:root {
   --background: white;

   --primary: #ff1ead;
   --secondary: #1effc3;
   
   --card-size: 300px;
}
video {
	object-fit:cover;
	width:100vw;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
}
.video-header, .video-header video, .video-header .viewport-header {
  width: 100vw;
  height: 100vw;
  position: absolute;
  top: 0;
  left: 0;
}
.video-header .viewport-header {
  display: flex;
  align-items: center;
  justify-content: center;
}
.viewport-header {
  position: relative;
  height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

html, body {
  height: 100%;
  overflow-x: hidden;
}

html {
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-size: 133%;
  line-height: 1.4;
}

body {
  margin: 0;
}

h1 {
  font-family: "Roboto", sans-serif;
  color: white;
  text-transform: uppercase;
  letter-spacing: 1vw;
  line-height: 1.5em;
  font-size: 3vw;
  text-align: center;
}
h1 span {
  display: block;
  font-size: 8vw;
  letter-spacing: 0;
  line-height:1em;
}

main {
  display:flex;
  background: white;
  position: relative;
  padding: 1rem;
  margin-top: 100vh;
}
main::before {
  content: "";
  background: rgba(255,255,255,.33);
background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(70, 70, 70, .33) 33%, rgba(166,166,166,.66) 66%, rgba(255, 255, 255, 1) 90%);
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  top: -100vh;
}
main p {
  display: block;
  font-size:1.66rem;
  color:#321f64;
  line-height:1.2em;
  text-align: center;
  max-width: 600px;
  margin: 1rem auto;
  margin-block-start: 1em;
  margin-block-end: 1em;
}
span.atr {
	font-size:1.8rem;
	display:block;
	letter-spacing:.15em;
	font-weight:700;
	
	line-height:.8em;
}
.atr img {
	height:1.8rem;
	width:auto;
	opacity:.7;
	margin:0 .3em -.05em .3em;
}
span.hhw {
	font-size:1.3rem;
	font-weight:700;
	letter-spacing:.15em;
	word-spacing:.1em;
	
}
span.aka-a {
	display:block;
	font-size:1rem;
	font-weight:500;
	letter-spacing:.1em;
	word-spacing:.1em;
	color:rgba(0,0,0,.44);
	line-height:1.3em;
}
span.aka-b {
	display:block;
	font-size:.85rem;
	font-weight:500;
	color:rgba(0,0,0,.44);
	line-height:1.5em;
	margin-bottom:.7em;
}
span.bln {
	display:block;
	border:.1em dotted rgba(0,0,0,.44);
	border-radius:.5em;
	font-size:1rem;
	letter-spacing:.2em;
	word-spacing:.1em;
	padding:0 .5em;
	line-height:1.5em;
}
img#mail {
	height:1.3rem;
	width:auto;
	margin:0 .2em -.2em 0;
}
span.m-hhw {
	font-size:.95rem;
}
#audio-control {
            padding: 7px 17px 10px;
            background-color: #111;
            color: white;
            border: none;
            border-top-right-radius: 4px;
			border-bottom-right-radius: 4px;
            cursor: pointer;
            font-size: 1.3rem;
            transition: background-color 0.3s ease;
}
#audio-control:hover {
            background-color: #106ebe;
}
#audio-control:active {
            background-color: #005a9e;
}
.controls{
	position:fixed;
	top:10vh;
	left:0;
}
.w-fxd {
	position:fixed;
	bottom:.5vh;
	width:2.55rem;
	height:2.55rem;
	opacity:.66;
	right:1.3vw;
	background-image:url('logo-s.svg');
	background-repeat:no-repeat;
	background-size:100%;
	background-position: center;
}

.card { 
   width: 92vw;
   max-width:390px;
   height: auto;
   
   border-radius: 0.75rem;
   box-shadow:  0 13px 45px 3px rgba(0,0,0,0.56), 0 0 0 1px rgba(0, 0, 0, 0.3);
   
   background: black;
   font-family: 'Source Code Pro', monospace;
  text-rendering: optimizelegibility;
  letter-spacing:-.01em;
   
   display: grid;
   grid-template-columns: 28% auto;
   color: white;
   
   align-items: center;
   
   
   will-change: transform;
   transition: transform 0.25s cubic-bezier(0.4, 0.0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0.0, 0.2, 1);
   
   &:hover {
      transform: scale(1.1);
      box-shadow:  0 25px 60px 11px rgba(0,0,0,0.36), 0 0 0 1px rgba(0, 0, 0, 0.3);
   }
}

.card-details {
	width:96%;
   padding: 1.1rem .5rem .9rem 0;
   margin-left:-.5rem;
}

.name {
   font-size: .85rem;
   
}

.occupation {
   font-weight: 600;
   font-size: .85rem;
   color: var(--primary);
}

.card-avatar {
   text-align:center;
}

img.svg {
   fill: white;
   width: 75%;
   transform:rotate(-3.33deg);
   margin-left:-.7rem;
}

.card-about {
   margin-top: .55rem;
   display: grid;
   grid-auto-flow: column;
 
}

.item {
   display: flex;
   flex-direction: column;
   margin-bottom: 0.33rem;
   
   .value {
      font-size: .6rem;
	  font-weight:600;
   }
   
   .label {
      margin-top: 0.15rem;
      font-size: 0.55rem;
      font-weight: 400;
	  word-spacing:-.5em;
      color: var(--primary);
	  
   }
}

.skills {
   display: flex;
   flex-direction: column;
   margin-top: 0.55rem;
   
   .label {
      font-size: .8rem;
      font-weight: 600;
      color: var(--primary);
   }
   
   .value {
      font-size: 0.6rem;
      line-height: 1.2rem;
   }
}
.main-2 {
	display:block;
	transform:rotate(-4deg);
	margin:0 auto;
}
.main-3 {
	display:block;
	height:3.3rem;
	margin:0 auto;
}		